Créer facilement une liste déroulante dépendante dynamique dans Excel

  • Partage Ça
Michael Brown

Ce tutoriel montre comment créer une liste déroulante Excel dépendant d'une autre cellule en utilisant les nouvelles fonctions de tableau dynamique.

La création d'une liste déroulante simple dans Excel est facile. La création d'une liste déroulante en cascade à plusieurs niveaux a toujours été un défi. Le tutoriel ci-dessus décrit quatre approches différentes, chacune comprenant un nombre fou d'étapes, un tas de formules différentes et une poignée de limitations relatives aux entrées multi-mots, aux cellules vides, etc.

C'était la mauvaise nouvelle. La bonne nouvelle, c'est que ces méthodes ont été conçues pour des versions pré-dynamiques d'Excel. L'introduction des tableaux dynamiques dans Excel 365 a tout changé ! Avec les nouvelles fonctions de tableau dynamique, la création d'une liste déroulante dépendante multiple est une question de minutes, voire de secondes. Pas d'astuces, pas de mises en garde, pas d'absurdités, seulement des solutions rapides, directes et faciles à suivre.

    Notes :

    • Cette nouvelle façon de créer des listes déroulantes dans un tableau dynamique ne fonctionne que dans Excel 365 et Excel 2021. Dans Excel pré-dynamique, vous devrez le faire à l'ancienne, comme décrit dans Création d'une liste déroulante dépendante dans Excel 2019 - 2007.
    • Cette solution ne concerne qu'une seule ligne. Si vous voulez copier vos listes de sélection vers le bas plusieurs rangées puis suivez les instructions de la liste déroulante Dépendants pour les rangées multiples.
    • Comment créer une liste déroulante dynamique dans Excel

      Cet exemple montre l'approche générale de la création d'une liste déroulante en cascade dans Excel en utilisant les nouvelles fonctions de tableau dynamique.

      Supposons que vous ayez une liste de fruits dans la colonne A et des exportateurs dans la colonne B. Une complication supplémentaire est que les noms de fruits ne sont pas groupés mais dispersés dans la colonne. L'objectif est de placer les noms de fruits uniques dans la première liste déroulante et, en fonction de la sélection de l'utilisateur, d'afficher les exportateurs pertinents dans la deuxième liste déroulante.

      Pour créer une liste déroulante dépendante dynamique dans Excel, procédez comme suit :

      1. obtenir des éléments pour la liste déroulante principale

      Pour commencer, nous allons extraire tous les noms de fruits différents de la colonne A. Pour ce faire, nous utilisons la fonction UNIQUE dans sa forme la plus simple : fournissez la liste des fruits comme premier argument ( tableau ) et omettre les autres arguments optionnels car leurs valeurs par défaut fonctionnent très bien pour nous :

      =UNIQUE(A3:A15)

      La formule va dans G3, et après avoir appuyé sur la touche Entrée, les résultats se répandent automatiquement dans les cellules suivantes.

      2. créer la liste déroulante principale

      Pour créer votre liste déroulante primaire, configurez une règle de validation de données Excel de cette manière :

      • Sélectionnez une cellule dans laquelle vous voulez que la liste déroulante apparaisse (D3 dans notre cas).
      • Sur le Données dans l'onglet Outils de données cliquez sur Validation des données .
      • Dans le Validation des données , procédez comme suit :
        • Sous Autoriser , sélectionnez Liste .
        • Dans le Source : saisissez la référence à la plage de déversement générée par la formule UNIQUE. Pour cela, saisissez la balise de hachage juste après la référence de la cellule, comme ceci : =$G$3#

          C'est ce que l'on appelle une référence de plage de déversement, et cette syntaxe fait référence à la plage entière, quelle que soit son expansion ou sa contraction.

        • Cliquez sur OK pour fermer la boîte de dialogue.

      Votre liste déroulante primaire est terminée !

      3. obtenir des éléments pour la liste déroulante dépendante

      Pour obtenir les entrées du menu déroulant secondaire, nous allons filtrer les valeurs de la colonne B en fonction de la valeur sélectionnée dans le premier menu déroulant, à l'aide d'une autre fonction de tableau dynamique appelée FILTER :

      =FILTRE(B3:B15, A3:A15=D3)

      Où B3:B15 sont les données sources pour votre liste déroulante dépendante, A3:A15 sont les données sources pour votre liste déroulante principale, et D3 est la cellule de la liste déroulante principale.

      Pour vous assurer que la formule fonctionne correctement, vous pouvez sélectionner une certaine valeur dans la première liste déroulante et observer les résultats renvoyés par FILTER. Parfait ! :)

      4. faire la liste déroulante des dépendants

      Pour créer la deuxième liste déroulante, configurez les critères de validation des données exactement comme vous l'avez fait pour la première liste déroulante à l'étape 2. Mais cette fois, faites référence à la plage de déversement renvoyée par la fonction FILTER : =$H$3#

      Et voilà, votre liste déroulante dépendante d'Excel est prête à être utilisée.

      Conseils et notes :

      • Pour avoir le Les nouvelles entrées comprennent dans la liste déroulante automatiquement Vous pouvez également inclure quelques cellules vides dans vos formules, comme le montre cet exemple.
      • Si vos données originales contiennent des lacunes, vous pouvez filtrer les blancs en utilisant cette solution.
      • A trier par ordre alphabétique les éléments d'une liste déroulante, intégrez vos formules dans la fonction SORT, comme l'explique cet exemple.

      Comment créer une liste déroulante dépendante multiple dans Excel ?

      Dans l'exemple précédent, nous avons créé une liste déroulante dépendant d'une autre cellule. Mais que faire si vous avez besoin d'une hiérarchie à plusieurs niveaux, c'est-à-dire une 3ème liste déroulante dépendant de la 2ème liste, ou même une 4ème liste déroulante dépendant de la 3ème liste. Est-ce possible ? Oui, vous pouvez créer un nombre quelconque de listes dépendantes (un nombre raisonnable, bien sûr :).

      Dans cet exemple, nous avons placé les états/provinces dans la colonne C, et nous cherchons maintenant à ajouter un menu déroulant correspondant dans G3 :

      Pour créer une liste déroulante à dépendances multiples dans Excel, voici ce que vous devez faire :

      1) Configurer la première liste déroulante

      La liste déroulante principale est créée en suivant exactement les mêmes étapes que dans l'exemple précédent (voir les étapes 1 et 2 ci-dessus). La seule différence est la référence de la plage de déversement que vous saisissez dans le champ Source : boîte.

      Cette fois, la formule UNIQUE se trouve en E8, et la liste déroulante principale sera en E3. Vous sélectionnez donc E3, cliquez sur Validation des données et fournir cette référence : =$E$8#

      2) Configurer la deuxième liste déroulante

      Comme vous l'avez peut-être remarqué, la colonne B contient maintenant plusieurs occurrences des mêmes exportateurs. Mais vous ne voulez que des noms uniques dans votre liste déroulante, n'est-ce pas ? Pour éliminer toutes les occurrences en double, enroulez la fonction UNIQUE autour de votre formule FILTER, et entrez cette formule mise à jour dans F8 :

      =UNIQUE(FILTER(B3:B15, A3:A15=E3))

      Où B3:B15 sont les données sources de la deuxième liste déroulante, A3:A15 sont les données sources de la première liste déroulante, et E3 est la cellule de la première liste déroulante.

      Ensuite, utilisez la référence suivante de la plage de déversement pour les critères de validation des données : =$F$8#

      3. configurer la troisième liste déroulante

      Pour rassembler les éléments de la troisième liste déroulante, utilisez la formule FILTER avec plusieurs critères. Le premier critère vérifie la liste entière des fruits par rapport à la valeur sélectionnée dans la première liste déroulante (A3:A15=E3) tandis que le deuxième critère teste la liste des exportateurs par rapport à la sélection dans la deuxième liste déroulante (B3:B15=F3). La formule complète va à G8 :

      =FILTRE(C3:C15, (A3:A15=E3) * (B3:B15=F3))

      Si vous ajoutez d'autres listes déroulantes dépendantes (4e, 5e, etc.), il est fort probable que la colonne C contienne plusieurs occurrences du même élément. Pour éviter que les doublons ne se retrouvent dans la table de préparation, et par conséquent dans la 3e liste déroulante, intégrez la formule FILTER dans la fonction UNIQUE comme nous l'avons fait à l'étape précédente :

      =UNIQUE(FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3)))

      La dernière chose à faire est de créer une autre règle de validation des données avec ceci Source : référence : =$G$8#

      Votre liste déroulante à dépendances multiples est prête à fonctionner !

      Conseil. De la même manière, vous pouvez obtenir des articles pour des listes déroulantes successives En supposant que la colonne D contienne les données sources de votre 4ème liste déroulante, vous pouvez entrer la formule suivante dans H8 pour récupérer les éléments correspondants :

      =UNIQUE(FILTER(D3:D15, (A3:A15=E3) * (B3:B15=F3) * (C3:C15=G3)))

      Comment créer une liste déroulante extensible dans Excel ?

      Après avoir créé une liste déroulante, votre première préoccupation peut être de savoir ce qui se passe lorsque vous ajoutez de nouveaux éléments aux données sources. La liste déroulante se mettra-t-elle à jour automatiquement ? Si vos données d'origine sont formatées sous forme de tableau Excel, alors oui, une liste déroulante dynamique présentée dans les exemples précédents s'étendra automatiquement sans aucun effort de votre part, car les tableaux Excel sont extensibles par nature.

      Si, pour une raison quelconque, l'utilisation d'un tableau Excel n'est pas envisageable, vous pouvez rendre votre liste déroulante extensible de cette manière :

      • A inclure de nouvelles données automatiquement au fur et à mesure qu'il est ajouté à la liste des sources, ajoutez quelques cellules supplémentaires aux tableaux référencés dans vos formules.
      • A exclure les cellules vides Dans le cas d'une formule de calcul, configurez les formules pour qu'elles ignorent les cellules vides jusqu'à ce qu'elles soient remplies.

      En gardant ces deux points à l'esprit, affinons les formules de notre tableau de préparation des données. Les règles de validation des données ne nécessitent aucun ajustement.

      Formule pour le menu déroulant principal

      Avec les noms de fruits en A3:A15, nous ajoutons 5 cellules supplémentaires au tableau pour tenir compte d'éventuelles nouvelles entrées. En outre, nous intégrons la fonction FILTER dans UNIQUE pour extraire les valeurs uniques sans espaces.

      Compte tenu de ce qui précède, la formule de G3 prend cette forme :

      =UNIQUE(FILTER(A3:A20, A3:A20""))

      Formule pour la liste déroulante dépendante

      La formule de G3 n'a pas besoin d'être beaucoup modifiée - il suffit d'ajouter quelques cellules supplémentaires aux tableaux :

      =FILTRE(B3:B20, A3:A20=D3)

      Le résultat est une liste déroulante dépendante extensible entièrement dynamique :

      Comment trier une liste déroulante par ordre alphabétique

      Vous souhaitez classer votre liste déroulante par ordre alphabétique sans avoir recours aux données sources ? Le nouvel Excel dynamique dispose d'une fonction spéciale pour cela ! Dans votre tableau de préparation des données, il suffit d'enrouler la fonction SORT autour de vos formules existantes.

      Les règles de validation des données sont configurées exactement comme décrit dans les exemples précédents.

      Pour trier de A à Z

      Étant donné que l'ordre de tri ascendant est l'option par défaut, vous pouvez simplement imbriquer vos formules existantes dans le champ tableau de SORT, en omettant tous les autres arguments qui sont optionnels.

      Pour le coupe principale (la formule en G3) :

      =TRI(UNIQUE(FILTRE(A3:A20, A3:A20"")))

      Pour le dropdown dépendant (la formule en H3) :

      =SORT(FILTER(B3:B20, A3:A20=D3))

      Les deux listes déroulantes sont triées par ordre alphabétique de A à Z.

      Pour trier de Z à A

      Pour trier par ordre décroissant, vous devez définir le 3ème argument ( ordre de tri ) de la fonction SORT à -1.

      Pour le coupe principale (la formule en G3) :

      =SORT(UNIQUE(FILTER(A3:A20, A3:A20"")), 1, -1)

      Pour le dropdown dépendant (la formule en H3) :

      =TRI(FILTRE(B3:B20, A3:A20=D3), 1, -1)

      Cela permettra de trier les données du tableau de préparation et les éléments des listes déroulantes de Z à A :

      Voilà comment créer une liste déroulante dynamique dans Excel à l'aide des nouvelles fonctions de tableau dynamique. Contrairement aux méthodes traditionnelles, cette approche fonctionne parfaitement pour les entrées à un ou plusieurs mots et prend en charge toutes les cellules vides. Merci de votre lecture et nous espérons vous voir sur notre blog la semaine prochaine !

      Cahier d'exercices à télécharger

      Liste déroulante dépendante d'Excel (fichier .xlsx)

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.