Imaginez un champ de recherche qui affiche instantanément les résultats de la recherche à chaque caractère que vous tapez et de la manière que vous voulez (sur la feuille, dans un UserForm, dans une ListBox, etc).


La recherche partielle et instantanée (sans bouton « Rechercher » à cliquer), ça peut être très pratique et c’est loin d’être aussi compliqué à mettre en place que ce que l’on pourrait croire, voyez par vous-même !

 

Aperçu

 

Explications en vidéo :

Sources :

Voici une copie du code VBA de cette vidéo :

Option Compare Text
 
Private Sub TextBox1_Change() 'www.blog-excel.com/creer-un-champ-de-recherche-vba
    
    Application.ScreenUpdating = False
 
    Range("A2:A24").Interior.ColorIndex = 2 'Exemple 1 (feuille)
    ListBox1.Clear 'Exemple 2 (ListBox)
    
    If TextBox1 <> "" Then
        For ligne = 2 To 24
            If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then
                Cells(ligne, 1).Interior.ColorIndex = 43 'Exemple 1 (feuille)
                ListBox1.AddItem Cells(ligne, 1) 'Exemple 2 (ListBox)
            End If
        Next
    End If
 
End Sub

 

Et le fichier Excel : champ_recherche.xls