Private Sub Textbox1_Change()
Listbox1.Clear
x = 1
'on boucle du premier au dernier élément du tableau t
For i = 1 To UBound(t)
'si la valeur contient la chaine de caractères de textbox1
If t(i, 1) Like "*" & Textbox1.Value & "*" Then
'on redimensionne le tableau ta en preservant les données dejà inscrites
ReDim Preserve ta(1 To x)
'et on y ajoute la valeur
'note que t est un tableau à 2 dimensions; pour obtenir une seule dimension
'(puisqu'il n'y a qu'une seule colonne), à l'initialisation, il fallait écrire
't = Application.Transpose(.Range("B2:B" & .Range("B65000").End(xlUp).Row).Value)
'et dans ce cas on ecrirait
'ta(x) = t(i)
ta(x) = t(i, 1)
'on incrémente x
x = x + 1
End If
Next i
'il faut tester l'existence d'au moins une valeur dans le tableau ta sinon bug !
'c'est le cas x > 1
If x > 1 Then Listbox1.List = Application.Transpose(ta)
Textbox2 = Listbox1.ListCount
'on vide le tableau ta
Erase ta
End Sub