Comment effectuer une recherche filtrée instantanée lorsque vous tapez une cellule dans Excel?
Cet article vous permet de rechercher et de filtrer instantanément lorsque vous tapez une cellule dans Excel.
Recherche filtrée instantanée à mesure que vous tapez avec le code VBA
Recherche filtrée instantanée à mesure que vous tapez avec le code VBA
Comme illustré ci-dessous, vous avez une liste de noms que vous souhaitez rechercher et filtrer instantanément lorsque vous tapez dans une cellule spécifique. Veuillez procéder comme suit pour le faire passer.
1. Tout d'abord, vous devez créer une table avec les données de la liste et nommer la table comme "Nom». Veuillez sélectionner toute la liste, cliquez sur insérer > lampe de table.
2. Dans l'ouverture Créer un tableau boîte de dialogue, cliquez sur OK. Voir la capture d'écran:
3. Cliquez sur n'importe quelle cellule du tableau pour activer le . onglet, puis renommez le tableau en Nom dans le Nom de la table zone de texte. Voir la capture d'écran:
4. Cliquez Développeur > insérer > Zone de texte (contrôle ActiveX) pour insérer une zone de texte au-dessus de la liste des tableaux, comme illustré ci-dessous:
5. Cliquez avec le bouton droit sur la zone de texte et cliquez sur biens, Dans le biens fenêtre, saisissez une référence de cellule dans le Cellule Liée boîte.
6. Cliquez avec le bouton droit sur la zone de texte et sélectionnez Voir le code dans le menu contextuel. Remplacez ensuite le code d'origine par le code VBA ci-dessous dans le Microsoft Visual Basic pour applications la fenêtre. Voir la capture d'écran:
Code VBA: recherche filtrée instantanée lorsque vous tapez dans Excel
Private Sub TextBox1_Change()
'Update by Extendoffice 2018/08/22
Dim xStr, xName As String
Dim xWS As Worksheet
Dim xRg As Range
On Error GoTo Err01
Application.ScreenUpdating = False
xName = "Name"
xStr = TextBox1.Text
Set xWS = ActiveSheet
Set xRg = xWS.ListObjects(xName).Range
If xStr <> "" Then
xRg.AutoFilter field:=1, Criteria1:="*" & xStr & "*", Operator:=xlFilterValues
Else
xRg.AutoFilter field:=1, Operator:=xlFilterValues
End If
Err01:
Application.ScreenUpdating = True
End Sub
Notes: Dans le code, Zone de texte1 est le nom de la zone de texte insérée, Nom est le nom de la liste de tableaux. Vous pouvez les modifier en fonction de vos besoins.
7. appuie sur le autre + Q touches pour fermer le Microsoft Visual Basic pour applications fenêtre.
8. Désactivez le mode de conception en cliquant sur Développeur > Mode de conception.
À partir de maintenant, la liste des tableaux sera recherchée et filtrée instantanément en fonction de la valeur saisie dans la zone de texte. Voir la capture d'écran:
Meilleurs outils de productivité bureautique
Boostez vos compétences Excel avec Kutools for Excelet faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel Offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab Apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
