Comment filtrer des données à partir d’une sélection dans une liste déroulante dans Excel ?
Dans Excel, de nombreux utilisateurs maîtrisent le filtrage standard grâce à la fonction **Filtre**. Cependant, il arrive souvent que vous souhaitiez filtrer ou afficher des données de manière interactive via une sélection dans une **liste déroulante**. Par exemple, vous pourriez avoir besoin que les lignes de données se mettent à jour automatiquement pour n’afficher que les informations correspondant à votre choix dans le menu déroulant, comme le montre la capture d’écran ci-dessous. Cette approche permet de créer des **rapports**, **tableaux de bord** et **formulaires interactifs** plus intuitifs et conviviaux. Cet article vous présente plusieurs méthodes pratiques pour filtrer ou mettre visuellement en évidence des données en fonction des sélections effectuées dans une liste déroulante, sur une ou deux feuilles de calcul — vous offrant ainsi des solutions flexibles adaptées à divers besoins.

Filtrer des données à partir d’une sélection dans une liste déroulante sur une seule feuille à l’aide de formules auxiliaires
Pour filtrer des données à partir d’une Liste déroulante, vous pouvez configurer une série de colonnes auxiliaires à l’aide de formules afin d’extraire dynamiquement les lignes correspondantes. Cette méthode est idéale lorsque vous souhaitez afficher uniquement les enregistrements pertinents sur la même feuille, sans utiliser de macros. Suivez ces étapes :
1. Commencez par insérer une liste déroulante. Sélectionnez la cellule où vous souhaitez la placer, puis accédez à Données > Validation des données > Validation des données. Cette étape crée une cellule permettant aux utilisateurs de choisir un élément selon lequel filtrer.

2. Dans la boîte de dialogue Validation des données, sous l’onglet Paramètres, sélectionnez Liste dans le menu déroulant Autoriser, puis cliquez sur le bouton
pour sélectionner la plage de valeurs destinée à votre liste déroulante. L’utilisation d’une plage nommée ou d’un tableau comme source de la liste permet de la maintenir automatiquement à jour par la suite.

3. Une fois votre liste déroulante configurée, choisissez un élément à filtrer. Dans la cellule D2, saisissez la formule suivante (en supposant que votre sélection dans la liste déroulante se trouve en colonne H) :
=ROWS($A$2:A2) Ici, A2 fait référence à la première cellule de la colonne contenant les données à comparer. Tirez la poignée de recopie vers le bas pour remplir toutes les lignes concernées. Cette colonne auxiliaire génère des numéros de ligne consécutifs, facilitant ainsi les références ultérieures aux lignes.

4. Ensuite, saisissez dans la cellule E2 :
=IF(A2=$H$2,D2,"") Cette formule vérifie si la valeur située en A2 correspond à l’élément sélectionné dans la liste déroulante située en H2. Si c’est le cas, elle renvoie le numéro de ligne issu de D2; sinon, elle laisse la cellule vide. Il s’agit d’une étape cruciale du filtrage : assurez-vous que la référence de la cellule contenant la liste déroulante (ici)H2) ne change pas de manière inattendue.

5. Dans la cellule F2, saisissez :
=IFERROR(SMALL($E$2:$E$17,D2),"") Cette formule extrait le nombre de lignes des données filtrées, vous permettant ultérieurement de récupérer les entrées correspondantes. Veillez à ce que la plage E2:E17 couvre toutes vos cellules contenant des formules. Étendez la poignée de recopie vers le bas si nécessaire.

6. Pour afficher les résultats filtrés, saisissez la formule suivante dans la cellule J2 :
=IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") Copiez cette formule de J2 à L2 pour afficher le premier enregistrement correspondant. Cette étape utilise les résultats de vos colonnes auxiliaires afin d’extraire les lignes de données réelles en fonction de la sélection effectuée dans la liste déroulante. Ajustez les colonnes si votre jeu de données initial couvre une plage différente.

Remarque : A2:C17 est votre tableau d’origine, F2 est la colonne auxiliaire filtrée et J2 est l’emplacement où vous souhaitez que les résultats s’affichent.
7. Tirez la poignée de recopie vers le bas dans toutes les colonnes de sortie afin d’afficher chaque enregistrement correspondant.

8. Désormais, chaque fois que vous sélectionnez une option dans la liste déroulante, le tableau situé en dessous se met à jour automatiquement pour afficher uniquement les lignes correspondant à votre choix.


Optimisez les listes déroulantes Excel grâce aux fonctionnalités améliorées de Kutools
Boostez votre productivité avec les fonctionnalités avancées de liste déroulante de Kutools pour Excel. Cette suite d’outils dépasse les capacités natives d’Excel pour optimiser votre flux de travail, notamment :
- Liste déroulante avec sélections multiples : Sélectionnez plusieurs éléments en même temps pour une gestion efficace de vos données.
- Liste déroulante avec case à cocher : améliorez l’interaction utilisateur et la clarté au sein de vos feuilles de calcul.
- Liste déroulante dynamique : mise à jour automatique dès que les données changent, pour garantir une exactitude toujours parfaite.
- Liste déroulante consultable : trouvez instantanément ce que vous cherchez, gagnez du temps et simplifiez-vous la vie.
Filtrer des données à partir d’une sélection dans une liste déroulante sur deux feuilles à l’aide d’un code VBA
Il arrive parfois que vous deviez filtrer des données sur une feuille après avoir sélectionné un élément dans une liste déroulante située sur une autre feuille. Par exemple, Feuil1 contient la sélection, tandis que Feuil2 contient le tableau à filtrer. Dans ce cas, VBA s’impose comme une solution pratique, car les formules ne peuvent pas directement mettre à jour d’autres feuilles en réponse à un événement. Cette approche est particulièrement adaptée aux tableaux de bord, rapports ou classeurs récapitulatifs, où les plages sources et les saisies utilisateur sont séparées pour plus de clarté.
1. Cliquez avec le bouton droit sur l’onglet de la feuille (par exemple, Feuil1) contenant la cellule dotée de la liste déroulante, puis sélectionnez Afficher le code. Dans la fenêtre Microsoft Visual Basic pour Applications, copiez-collez le code suivant dans le module vierge :
Code VBA : Filtrer des données à partir d’une sélection dans une liste déroulante sur 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
Remarque : Dans le code, A2 correspond à la cellule contenant la liste déroulante, Feuil2 est la feuille sur laquelle le filtre s’applique, et AutoFilter 1 désigne la colonne à filtrer. Adaptez ces éléments selon la structure de vos données. Vérifiez que les noms des feuilles et les références de cellules correspondent exactement à votre configuration réelle pour éviter toute erreur d’exécution. En cas de comportement inattendu, assurez-vous que la feuille n’est pas protégée, et recherchez d’éventuelles cellules fusionnées ou données masquées susceptibles d’interférer avec la méthode AutoFilter.

2. Désormais, toute sélection effectuée dans la liste déroulante de Feuil1 filtre instantanément les données de Feuil2, pour une analyse inter-feuilles fluide et efficace lors de la création de rapports et de la revue des données.

Notez que les solutions basées sur VBA nécessitent l’activation des macros. Enregistrez toujours votre classeur au format .xlsm si vous souhaitez conserver le code. Si votre filtre ne se met pas à jour, vérifiez les paramètres de sécurité des macros et assurez-vous que les références ainsi que le nom de la feuille de calcul correspondent bien. Évitez d’utiliser des données sensibles ou critiques sans sauvegarde appropriée, car les macros peuvent entraîner des modifications massives.
Utiliser la mise en forme conditionnelle – Mettez automatiquement en surbrillance toutes les lignes correspondant à la sélection dans la liste déroulante
Si votre objectif n’est pas de masquer ou d’extraire des lignes, mais simplement de mettre visuellement en évidence celles qui correspondent à la sélection dans la liste déroulante, la mise en forme conditionnelle offre une solution rapide et conviviale. Optez pour cette méthode lorsque vous souhaitez guider les utilisateurs vers les lignes pertinentes, sans supprimer ni déplacer les données.
L’usage le plus courant concerne les tableaux de bord, les rapports ou les longues listes, où la mise en surbrillance permet d’identifier instantanément les entrées liées au choix actuel, améliorant ainsi la lisibilité des données.
- Sélectionnez votre plage de données : Par exemple, sélectionnez A2:C100.
- Accédez à l’outil « Utiliser la mise en forme conditionnelle » : Accédez à Accueil > Utiliser la mise en forme conditionnelle > Nouvelle règle.
- Créez votre règle : Sélectionnez Utiliser une formule pour déterminer les cellules à mettre en forme, puis saisissez une formule telle que :
Cette formule met en surbrillance chaque ligne dont la valeur dans la colonne A correspond à la sélection effectuée dans la liste déroulante située en H2.=$A2=$H$2 - Définissez la mise en forme : Cliquez sur Format, puis choisissez une couleur de remplissage ou un format de texte. Appuyez sur OK pour confirmer.
Avantages : configuration rapide, fonctionnement immédiat dès que les sélections changent et aucun impact sur la structure du tableau. Toutefois, cette méthode met uniquement en évidence (sans filtrer ni extraire) les enregistrements. Pour les grands tableaux, privilégiez des couleurs à contraste élevé afin de garantir une visibilité optimale de la Plage de ligne en surbrillance. Les règles de mise en forme conditionnelle s’appliquent au niveau des cellules : si les références de cellule sont incorrectes, certaines lignes risquent de ne pas être mises en évidence comme prévu. Utilisez des références absolues (par exemple $H$2) dans votre formule pour assurer une application cohérente.
Pour supprimer la mise en évidence, rendez-vous simplement dans Utiliser la mise en forme conditionnelle > Effacer les règles. Pour des mises en évidence reposant sur plusieurs conditions ou colonnes, adaptez votre formule afin de vérifier davantage de colonnes ou utilisez la fonction ET.
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre 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 rend votre travail bien plus facile
- Activez 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 vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels