Recherche partielle dans Textbox, affichage dans un ListBox

Bonjour à tous,

Dans un UserForm, j'aimerais effectuer une recherche partielle dans TextBox1 et tout les cas correspondants qui répondent au texte recherché seront affichés dans ListBox1.

Dans le TextBox1, si je fait entrer "S" par exemple, tout les mots qui contiennent la lettre "S" s'afficheront dans la ListBox1, mais tout cela selon le choix effectué dans la liste déroutante ComboBox1.

Ça veut dire que la recherche se fera dans la plage nommée correspondante au choix effectué dans le ComboBox1.

Après clic dans ListBox1, TextBox1 prend la valeur choisie.

Merci d'avance.

546testusf.xlsm (16.67 Ko)

Bonjour,

Une autre explication :

Le ComboBox me sert pour choisir la plage nommées par laquelle la ListBox sera alimenter.

Après le textBox sert à filtrer la ListBox pour trouver le texte correspondant.

Bonjour

peux tu tester ceci :

Private Sub TextBox1_Change()

Dim X As Variant
X = Me.ComboBox1.Text
X = Right(Names(X).RefersTo, Len(Names(X).RefersTo) - 1)
If TextBox1.Value = "" Then
    With Me.ListBox1
        .Clear
        .List = Range(X).Value
    End With
Else
For Each c In Range(X).Value
If LCase(c) <> "" And LCase(c) Like "*" & TextBox1.Value & "*" Then
'MsgBox c
ListBox1.Clear
ListBox1.AddItem c
End If
Next
End If

End Sub

Je fais une comparaison de la textbox des des éléments tous les deux en minuscule pour éviter C soit différent de c grâce à Lcase pour LOWERCASE:

If LCase(c) <> "" And LCase(c) Like "*" & TextBox1.Value & "*" Then

Bonjour,

Merci ti_chou_3 pour la solution.

Bonsoir

Pas de soucis.

Bonne fête et profitez bien de votre fichier.

Cdt,

Rechercher des sujets similaires à "recherche partielle textbox affichage listbox"