Bonjour,
Dans le fichier ci-joint j’ai un UserForm qui s’ouvre par le bouton du même nom et derrière lequel il y a le code
Private Sub TextBox1_Change()
Dim i As Integer, k As Integer
Sheets("Feuil1").Range("H1") = UCase(TextBox1)
i = Sheets("Feuil1").Range("I1")
k = Sheets("Feuil1").Range("J1")
If i = 0 Then
ListBox1.Clear
Else
If i = k Or k < i Then
ListBox1.List() = Sheets("Feuil1").Range("F" & i & ":F" & i + 1).Value
Else
ListBox1.List() = Sheets("Feuil1").Range("F" & i & ":F" & k).Value
End If
End If
Quand s’ouvre le UserForm, je peux taper les premières lettres d’un mot dans le TextBox du haut et – si des correspondances sont trouvées dans la liste en colonne F – une liste apparaît dans la Listbox en dessous.
Si aucune correspondance n’est trouvée, tout va bien, ma liste reste vide. Par contre si une seule correspondance est découverte, je n’ai pas trouvé d’autres solutions que d’afficher un mot de plus que désiré dans la Listbox (par exemple si je tape « ECH », ECHALOTTE et FARINE sont affichés).
Ma question est donc : Savez-vous comment afficher une liste d’un seul mot dans une ListBox, en remplacement de ma ligne ListBox1.List() = Sheets("Feuil1").Range("F" & i & ":F" & i + 1).Value ?
A vous relire.