Excel VBA Recherche Partielle
Résolu/Fermé
-Tyrael-
Messages postés
101
Date d'inscription
jeudi 10 septembre 2009
Statut
Membre
Dernière intervention
14 août 2015
-
Modifié par -Tyrael- le 17/07/2010 à 14:26
-Tyrael- Messages postés 101 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 14 août 2015 - 20 juil. 2010 à 13:30
-Tyrael- Messages postés 101 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 14 août 2015 - 20 juil. 2010 à 13:30
A voir également:
- Recherche vba excel
- Liste déroulante excel - Guide
- Formule excel - Guide
- Recherche musique - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
4 réponses
-Tyrael-
Messages postés
101
Date d'inscription
jeudi 10 septembre 2009
Statut
Membre
Dernière intervention
14 août 2015
10
18 juil. 2010 à 13:31
18 juil. 2010 à 13:31
Bonjour michel_m,
J'avoue que j'ai un peu de mal à tout comprendre.
Si tu repasse par ici pourrais tu m'expliquer un peu cette partie stp :
Ainsi que : .Range("A2").Resize(cptr_tablo + 1, 4) = Application.Transpose(tablo)
Merci.
Si d'autres personnes ont une solution, je suis preneur :)
J'avoue que j'ai un peu de mal à tout comprendre.
Si tu repasse par ici pourrais tu m'expliquer un peu cette partie stp :
With Sheets("liste") For cptr = 1 To derlig test = .Cells(cptr, 1) If .Cells(cptr, 1) Like lettre & "*" Then For col = 0 To 3 tablo(col, cptr_tablo) = .Cells(cptr, col + 1) Next cptr_tablo = cptr_tablo + 1 ReDim Preserve tablo(3, cptr_tablo) End If Next End With
Ainsi que : .Range("A2").Resize(cptr_tablo + 1, 4) = Application.Transpose(tablo)
Merci.
Si d'autres personnes ont une solution, je suis preneur :)
dobo69
Messages postés
1587
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
30 juin 2013
823
17 juil. 2010 à 15:18
17 juil. 2010 à 15:18
bonjour,
Je ne réponds pas tout à fait à la question :
Il existe une solution sans VBA, par formule matricielle :
http://boisgontierjacques.free.fr/fichiers/Matriciel/MatRecherche3.xls
développé et présenté sur l'excellent site de Jacques BOISGONTIER :
http://boisgontierjacques.free.fr/
Je ne réponds pas tout à fait à la question :
Il existe une solution sans VBA, par formule matricielle :
http://boisgontierjacques.free.fr/fichiers/Matriciel/MatRecherche3.xls
développé et présenté sur l'excellent site de Jacques BOISGONTIER :
http://boisgontierjacques.free.fr/
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 17/07/2010 à 15:22
Modifié par michel_m le 17/07/2010 à 15:22
Bonjour
essaies cette macro (à adapter à ton classeur et userform) on cherche d'après les n premières lettres dans la liste
remarque:
en déclenchant la macro à partir de l'événement
:-x
essaies cette macro (à adapter à ton classeur et userform) on cherche d'après les n premières lettres dans la liste
Dim lettre As String Dim tablo Dim derlig as integer Dim cptr As Integer, col As Byte, cptr_tablo As Integer lettre = UCase(TextBox1.Value) If lettre = "" Then Exit Sub ReDim tablo(3, 0) derlig = Sheets("liste").Range("A1000").End(xlUp).Row With Sheets("liste") For cptr = 1 To derlig test = .Cells(cptr, 1) If .Cells(cptr, 1) Like lettre & "*" Then For col = 0 To 3 tablo(col, cptr_tablo) = .Cells(cptr, col + 1) Next cptr_tablo = cptr_tablo + 1 ReDim Preserve tablo(3, cptr_tablo) End If Next End With With Sheets("cherche") .Range("A2:D1000").ClearContents .Range("A2").Resize(cptr_tablo + 1, 4) = Application.Transpose(tablo) End With
remarque:
en déclenchant la macro à partir de l'événement
Private Sub TextBox1_Change()la liste de tes films avec la lettre apparaitra au fur et à mesure sans avoir à cliquer sur un bouton
:-x
-Tyrael-
Messages postés
101
Date d'inscription
jeudi 10 septembre 2009
Statut
Membre
Dernière intervention
14 août 2015
10
20 juil. 2010 à 13:30
20 juil. 2010 à 13:30
Bonjour,
Ah bon! ce que je t'ai donné n'est pas une solution? pourtant, elle a été testée avec succès avant de te la proposer
Il ne faut pas le prendre comme ça ^^ Il existe toujours plusieurs solutions à un même problème (surtout en programmation). Des plus simple et des plus compliquées.
Je vais potasser ton tuto (merci d'ailleurs) quand j'aurai un peu plus de temps (c'est du loisir ça).
En tout cas merci pour ton aide, je refais signe si j'ai des soucis sinon c'est que tout va bien.
Je mets résolu quand même pour mon sujet.
Ah bon! ce que je t'ai donné n'est pas une solution? pourtant, elle a été testée avec succès avant de te la proposer
Il ne faut pas le prendre comme ça ^^ Il existe toujours plusieurs solutions à un même problème (surtout en programmation). Des plus simple et des plus compliquées.
Je vais potasser ton tuto (merci d'ailleurs) quand j'aurai un peu plus de temps (c'est du loisir ça).
En tout cas merci pour ton aide, je refais signe si j'ai des soucis sinon c'est que tout va bien.
Je mets résolu quand même pour mon sujet.
18 juil. 2010 à 18:16
Si d'autres personnes ont une solution...
Ah bon! ce que je t'ai donné n'est pas une solution? pourtant, elle a été testée avec succès avant de te la proposer
Pour les explications, on verra demain !! :-)
en attendant, concernant la variable tablo, consultes ce tuto:
https://silkyroad.developpez.com/vba/tableaux/
pour l'opérateur like il compare le contenu de la cellule avec le modèle par ex ja avec le joker * retourne vrai si le contenu de la cellule commence par "ja" james ok, jaja ok, jean pas OK
quant à resize, cela consiste à créer une zone de la taille de la variable tablo: détails dans l'aide F1
pour la méthode transpose, il faudrait que tu ais à peu près assimilé le tuto cité + haut avant explications complémentaire
à demain fais moi signe lorsque tu auras potassé le tuto