Merci des infos
Pas sûr mais en supposant que tt2 est bien une listbox et qu'elle ne contient qu'une colonne, essayez comme ceci
Private Sub tt1_Change()
Dim i As Integer, j As Integer
Dim Nbligne As Integer
Me.tt2.Clear
Nbligne = Sheet3.Range("A10000").End(xlUp).Row
j = 0
If Me.tt1 <> "" Then
For i = 5 To Nbligne
If Sheet3.Cells(i, 2) Like "*" & UCase(Me.tt1.Value) & "*" Then
With Me
.tt2.AddItem
.tt2.List(j, 0) = Sheet3.Cells(i, 2)
.tt2.List(j + 1, 0) = "---->" & " " & Sheet3.Cells(i, 1)
.tt2.List(j + 2, 0) = ""
End With
j = j + 3
End If
Next i
End If
End Sub
Attention que les données que vous cherchez sont limitées à la variable "nbligne" qui est définie sur base de la colonne A
Comme vous utilisez Ucase, vérifiez aussi que les données sont toutes en majuscules dans la colonne B de la feuille 3
J'ai supprime "nomcherche" puisqu'il n'intervient pas dans la boucle i
Cordialement