Astuce VBA : créer un champ de recherche en VBA

Dans ce tutoriel, vous apprendrez à mettre en place un champ de recherche qui affiche et actualise les résultats à chaque caractère entré dans le champ (TextBox).


Les résultats peuvent être affichés de différentes manières (dans cet exemple, un affichage des résultats sur la feuille et dans une ListBox) :

champ recherche png de vba

Ce type de champ de recherche est utilisé par exemple dans les applications Stock-Pratique et Contacts-Pratique.

Tuto vidéo

Pour comprendre comment créer ce champ de recherche et afficher les résultats instantanément, consultez cette vidéo :

Code VBA et fichier

Le code VBA de cette vidéo est le suivant :

Option Compare Text

Private Sub TextBox1_Change()
    
    'Source : https://www.excel-pratique.com/fr/astuces_vba/champ-de-recherche-vba
    
    Application.ScreenUpdating = False
    
    Range("A2:A24").Interior.ColorIndex = 2
    ListBox1.Clear
    
    If TextBox1 <> "" Then
        For ligne = 2 To 24
            If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then
                Cells(ligne, 1).Interior.ColorIndex = 43
                ListBox1.AddItem Cells(ligne, 1)
            End If
        Next
    End If
    
End Sub
En cas de besoin, vous pouvez télécharger le fichier Excel de cet exemple : champ-recherche-vba.xlsm