ListBox avec une seule entrée

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.

40test-v33333.zip (21.32 Ko)

Bonjour Yvouille,

J'ai peut-être pas bien compris..

    ListBox1.AddItem Sheets("Feuil1").Range("F" & i).Value 

A+

Bonjour

Bonjour lermite

Une autre solution

    If i = k Or k < i Then
      ListBox1.List() = Sheets("Feuil1").Range("F" & i & ":F" & i + 1).Value
      Me.ListBox1.RemoveItem (1)

[/surligner]

Bonjour à tous deux et merci pour vos réponses

Lermite, ta solution fonctionne si j’écris par exemple E ; seul ECHALOTTE est alors trouvé.

Par contre si j’écris S, SEL et SUCRE sont trouvés. Puis si j’écris en plus un E (donc SE), SEL, SUCRE et SEL sont listés.

Je vais donc choisir la version de Banzai qui fonctionne sans problème

Merci encore et bonne journée.

Rechercher des sujets similaires à "listbox seule entree"