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

 

Pour progresser encore davantage en VBA, testez gratuitement la formation VBA avancée, comprenant des exercices pratiques ainsi qu’une série de vidéos (du même auteur que celle que vous venez de visionner) …