Note: The other languages of the website are Google-translated. Back to English
English English

Comment filtrer les données de la sélection de liste déroulante dans Excel?

Dans Excel, la plupart d'entre nous peuvent filtrer les données à l'aide de la fonction Filtrer. Mais avez-vous déjà essayé de filtrer les données de la sélection de la liste déroulante? Par exemple, lorsque je sélectionne un élément dans la liste déroulante, je souhaite que ses lignes correspondantes soient filtrées comme illustré ci-dessous. Cet article, je vais parler de la façon de filtrer les données en utilisant la liste déroulante dans une ou deux feuilles de calcul.

Filtrer les données de la sélection de liste déroulante dans une feuille de calcul avec des formules d'aide

Filtrer les données de la sélection de la liste déroulante dans deux feuilles de calcul avec le code VBA


Filtrer les données de la sélection de liste déroulante dans une feuille de calcul avec des formules d'aide

Pour filtrer les données de la liste déroulante, vous pouvez créer des colonnes de formules d'aide, veuillez suivre les étapes suivantes une par une:

1. Tout d'abord, insérez la liste déroulante. Cliquez sur une cellule dans laquelle vous souhaitez insérer la liste déroulante, puis cliquez sur Données > Validation des données > Validation des données, voir capture d'écran:

2. Dans le sauté Validation des données boîte de dialogue, sous la Paramètres onglet, sélectionnez Liste du Autoriser dérouler, puis cliquez sur bouton pour choisir la liste de données sur laquelle vous souhaitez créer la liste déroulante, voir capture d'écran:

3. Et puis cliquez OK bouton, la liste déroulante est insérée à la fois, et choisissez un élément dans la liste déroulante, puis entrez cette formule: = RANGÉES ($ A $ 2: A2) (A2 est la première cellule de la colonne qui contient la valeur de la liste déroulante) dans la cellule D2, puis faites glisser la poignée de remplissage vers les cellules pour appliquer cette formule, voir capture d'écran:

4. Continuez à saisir cette formule: = SI (A2 = $ H $ 2, D2, "") dans la cellule E2, puis faites glisser la poignée de remplissage vers le bas pour remplir cette formule, voir capture d'écran:

Notes: Dans la formule ci-dessus :A2 est la première cellule de la colonne qui contient la valeur de la liste déroulante ,H2 est la cellule où la liste déroulante est placée, D2 est la première formule de colonne d'aide.

5. Et puis tapez cette formule: = IFERREUR (PETIT ($ E $ 2: $ E $ 17, D2), "") dans la cellule F2, puis faites glisser la poignée de remplissage vers les cellules pour remplir cette formule, voir capture d'écran:

Notes: Dans la formule ci-dessus: E2: E17 est la deuxième cellule de formule auxiliaire, D2 est la première cellule de la première colonne de formules d'aide.

6. Après avoir inséré les colonnes de formule d'aide, vous devez alors sortir le résultat filtré dans un autre emplacement, veuillez appliquer cette formule: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") dans la cellule J2, puis faites glisser la poignée de remplissage de J2 à L2, et le premier enregistrement des données basé sur la liste déroulante a été extrait, voir capture d'écran:

Notes: Dans la formule ci-dessus: A2: C17 correspond aux données d'origine que vous souhaitez filtrer, F2 est la troisième colonne de formule d'aide, J2 est la cellule dans laquelle vous souhaitez afficher le résultat du filtre.

7. Et puis continuez à faire glisser la poignée de remplissage vers les cellules pour afficher tous les enregistrements filtrés correspondants, voir capture d'écran:

8. A partir de maintenant, lorsque vous sélectionnez un élément dans la liste déroulante, toutes les lignes basées sur cette sélection sont filtrées en même temps, voir capture d'écran:


Filtrer les données de la sélection de la liste déroulante dans deux feuilles de calcul avec le code VBA

Si votre cellule de liste déroulante dans Sheet1 et les données filtrées dans Sheet2, lors du choix d'un élément dans la liste déroulante, une autre feuille sera filtrée. Comment pourriez-vous terminer ce travail dans Excel?

Le code VBA suivant peut vous rendre service, procédez comme suit:

1. Cliquez avec le bouton droit de la souris sur l'onglet de la feuille qui contient la cellule de la liste déroulante, puis choisissez Voir le code depuis le menu contextuel, dans le Microsoft Visual Basic pour les applications fenêtre, copiez et collez le code suivant dans le module vide:

Code VBA: filtrez les données de la sélection de la liste déroulante dans deux feuilles:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Not Intersect(Range("A2"), Target) Is Nothing Then
        Application.EnableEvents = False
        If Range("A2").Value = "" Then
            Worksheets("Sheet2").ShowAllData
        Else
            Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
        End If
        Application.EnableEvents = True
    End If
End Sub

Notes: Dans le code ci-dessus: A2 est la cellule qui contient la liste déroulante, et Sheet2 est la feuille de calcul contient les données que vous souhaitez filtrer. Le nombre 1 dans le script: Filtre automatique 1 est le numéro de colonne sur lequel vous souhaitez filtrer. Vous pouvez les modifier selon vos besoins.

2. À partir de maintenant, lorsque vous sélectionnez un élément dans la liste déroulante de Sheet1, et que les données correspondantes seront filtrées dans Sheet2, voir capture d'écran:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Commentaires (3)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Comment puis-je ajouter plusieurs menus déroulants ? Par example,
Si je voulais un menu déroulant pour le produit et le nom ?.
Ce commentaire a été minimisé par le modérateur sur le site
Hey Kev, vous vous demandez si vous avez trouvé une réponse à votre question ici ? J'ai cherché un peu en vain.
Ce commentaire a été minimisé par le modérateur sur le site
Pour moi, la formule =ROWS($A$2:A2) n'a pas fonctionné ! Il m'a toujours donné "2" en retour. J'ai dû mettre =ROWS($A2:A2), donc sans le deuxième "$", afin de reproduire votre résultat.
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés