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) :
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