Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment effectuer une recherche filtrée instantanée lorsque vous tapez une cellule dans Excel?

Cet article fournit une méthode pour rechercher et filtrer instantanément lorsque vous tapez une cellule dans Excel.

Recherche filtrée instantanée lorsque vous tapez avec le code VBA


Recherche filtrée instantanée lorsque vous tapez avec le code VBA


Comme le montre la capture d'écran ci-dessous, vous avez une liste de noms que vous souhaitez rechercher et filtrer instantanément lorsque vous tapez une cellule spécifique. S'il vous plaît faire 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 la liste entière, cliquez sur insérer > table.

2. Dans l'ouverture Créer un tableau boîte de dialogue, cliquez sur OK. Voir la capture d'écran:

3. Cliquez sur une cellule du tableau pour activer le Modèle onglet, puis renommez la table en tant que Nom 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 indiqué ci-dessous:

5. Cliquez avec le bouton droit sur la zone de texte et cliquez sur Propriétés, Dans le Propriétés fenêtre, tapez une référence de cellule dans le LinkedCell boîte.

6. Cliquez avec le bouton droit sur la zone de texte et sélectionnez Voir le code dans le menu contextuel. Ensuite, remplacez le code d'origine par le code VBA ci-dessous dans le Microsoft Visual Basic pour applications 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

Note: Dans le code, TextBox1 est le nom de la zone de texte insérée, Nom est le nom de la liste de tables. Vous pouvez les modifier en fonction de vos besoins.

7. appuie sur le autre + Q les clés pour fermer le Microsoft Visual Basic pour applications fenêtre.

8. Désactivez le mode Création en cliquant sur Développeur > Mode de conception.

Désormais, la liste des tables sera recherchée et filtrée instantanément en fonction de la valeur saisie dans la zone de texte. Voir la capture d'écran:



Outils de productivité recommandés

Office Tab

étoile d&#39;or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d&#39;or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d&#39;or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d&#39;écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.