Option Compare Text
Dim TblBD(), Choix(), NomTableau, NbCol
Private Sub UserForm_Initialize()
NomTableau = "tableau1" ' adapter
TblBD = Range(NomTableau).Value
ReDim Choix(1 To UBound(TblBD))
For i = LBound(TblBD) To UBound(TblBD)
NbCol = Range(NomTableau).Columns.Count
For k = 1 To NbCol: Choix(i) = Choix(i) & TblBD(i, k) & "|": Next k
Next i
Me.ListBox1.List = TblBD
EnteteListBox
End Sub
Private Sub TextBox1_Change()
If Me.TextBox1 <> "" Then
mots = Split(Me.TextBox1, " ")
Tbl = Choix
For i = LBound(mots) To UBound(mots)
Tbl = Filter(Tbl, mots(i), True, vbTextCompare)
Next i
n = UBound(Tbl) + 1
If n > 0 Then
ReDim Tbl2(LBound(Tbl) To n + 1, 1 To NbCol)
For j = LBound(Tbl) To UBound(Tbl)
a = Split(Tbl(j), "|")
For k = 0 To 3: Tbl2(j, k + 1) = a(k): Next k
Next j
Me.ListBox1.List = Tbl2
Else
Me.ListBox1.Clear
End If
Else
Me.ListBox1.List = TblBD
End If
End Sub