C'est la fonction Filter() qui permet de retrouver un ensemble de mots dans le désordre.
Dim f, choix(), Rng
Private Sub UserForm_Initialize()
Set f = Sheets("bd")
Set Rng = f.Range("a2:a" & f.[A65000].End(xlUp).Row)
choix = Application.Transpose(Rng)
Me.ListBox1.List = choix
End Sub
Private Sub TextBox1_Change()
mots = Split(Trim(Me.TextBox1), " ")
Tbl = choix
For i = LBound(mots) To UBound(mots)
Tbl = Filter(Tbl, mots(i), True, vbTextCompare)
Next i
Me.ListBox1.List = Tbl
End Sub
Private Sub B_ok_Click()
ActiveCell = Me.ListBox1
Unload Me
End Sub
Boisgontier