bonjour
Regarde si cela te convient comme ceci, je retire les * entre chaque caractères et avant le mot
Private Sub textBox1_Change()
Set d1 = CreateObject("Scripting.Dictionary")
X = Replace(Replace(TextBox1, ".", ""), " ", "")
tmp = "*"
' For i = 1 To Len(X): tmp = tmp & Mid(X, i, 1) & "*": Next i
tmp = X & "*"
tmp = UCase(tmp)
For Each c In a
tmp2 = Replace(Replace(c, ".", ""), " ", "") & "*"
If UCase(tmp2) Like tmp Then d1(c) = ""
Next c
Me.ListBox1.List = d1.keys
End Sub
Pas vue pierre jean