Bonjour à tous,
je suis débutant sous excel. je souhaite réaliser dans un userform une recherche via 3 textbox en cascade. j'ai trouver quelque chose sur internet que je n'arrive pas a adapter à mon fichier. cela marche sur le fichier que j'ai télécharger mais pas dans le mien.
merci d'avance pour votre aide précieuse.
Dim f, TblBD()
Option Compare Text
Private Sub recherchedt_Initialize()
Set f = Sheets("Données")
Set d = CreateObject("Scripting.Dictionary")
TblBD = f.Range("A3:X" & f.[A65000].End(xlUp).Row).Value
Me.ListBox1.List = TblBD
Me.ListBox1.ColumnCount = 24
'Me.ListBox1.ColumnWidths = "100;50;50;50;50;50"
End Sub
Private Sub TextBoxMotClé_Change()
ColRecherche = 4
clé = "*" & Me.TextBoxMotClé & "*": n = 0
Dim Tbl()
For i = 1 To UBound(TblBD) --------------------------------------------------------------- = l'indice n'appartiens pas à la sélection
If TblBD(i, ColRecherche) Like cl? Then
n = n + 1: ReDim Preserve Tbl(1 To UBound(TblBD, 2), 1 To n)
For k = 1 To UBound(TblBD, 2): Tbl(k, n) = TblBD(i, k): Next k
End If
Next i
If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub
je suis débutant sous excel. je souhaite réaliser dans un userform une recherche via 3 textbox en cascade. j'ai trouver quelque chose sur internet que je n'arrive pas a adapter à mon fichier. cela marche sur le fichier que j'ai télécharger mais pas dans le mien.
merci d'avance pour votre aide précieuse.
Dim f, TblBD()
Option Compare Text
Private Sub recherchedt_Initialize()
Set f = Sheets("Données")
Set d = CreateObject("Scripting.Dictionary")
TblBD = f.Range("A3:X" & f.[A65000].End(xlUp).Row).Value
Me.ListBox1.List = TblBD
Me.ListBox1.ColumnCount = 24
'Me.ListBox1.ColumnWidths = "100;50;50;50;50;50"
End Sub
Private Sub TextBoxMotClé_Change()
ColRecherche = 4
clé = "*" & Me.TextBoxMotClé & "*": n = 0
Dim Tbl()
For i = 1 To UBound(TblBD) --------------------------------------------------------------- = l'indice n'appartiens pas à la sélection
If TblBD(i, ColRecherche) Like cl? Then
n = n + 1: ReDim Preserve Tbl(1 To UBound(TblBD, 2), 1 To n)
For k = 1 To UBound(TblBD, 2): Tbl(k, n) = TblBD(i, k): Next k
End If
Next i
If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub
Dernière édition: