Bonjour
Le problème pour moi vient de la ligne d'instruction Sheets("2"), si ta feuille s'appelle 2 ça marche, mais pour Feuil2 il faut mettre "Feuil2"
J'avais vu sur un sujet que le nom d'une feuille crée par défaut peut varier en fonction de certains paramètres, ce que je te conseille c'est de la nommer de façon précise ("test" par exemple).
Si tu la nommes test, il faudra écrire Sheets("test")
Également La feuille n'a pas de variable Ligne, ça fait également planter le programme.
Autre erreur, il faut utiliser l'instruction With pour faire ce que tu souhaites, ce que á donnerait avec la feuille test :
Sub TextBox1_Change()
ListBox1.Clear
ListBox2.Clear
If TextBox1 <> "" Then
Dim Search As Range
With Sheets("test")
For Ligne = 2 To 200
If .Cells(Ligne, 1) Like "*" & TextBox1 & "*" Then
ListBox1.AddItem .Cells(Ligne, 2)
ListBox2.AddItem .Cells(Ligne, 3)
OffAction = False
End If
Next
End If
End With
End Sub