[Vidéo] Comment créer plusieurs menus déroulants interdépendants sur Excel

Publié initialement sur: https://www.formuleexcel.com/video-creer-plusieurs-menus-deroulants-interdependants-excel/

[embed]https://www.youtube.com/watch?v=6dsCeYOB3zg[/embed]

N’oublie pas de t’abonner pour recevoir directement les nouvelles astuces sur Excel:

➡️ Clique ici pour t'abonner ⬅️

Ressources mentionnées

  • Première partie du tuto pour apprendre à créer une liste déroulante ➡️ Clique par ici
  • Pour chaque valeur dans le premier menu, créer une liste qui a pour nom cette valeur
  • Dans le 2e menu, écrire =INDIRECT(B2) dans l'adresse de la liste à valider
  • Si tu as des questions ou des commentaires, RDV ➡️ sur le forum

Transcription de la vidéo

Salut, c'est Docteur Excel.

Dans ce tutoriel, je vais te montrer comment faire pour créer plusieurs listes déroulantes qui sont interdépendantes les unes des autres. C’est typiquement très utile pour créer un menu avec plusieurs choix, et en fonction de ce premier choix, créer d’autres sous-choix possibles.

On va voir comment faire deux choix de suite ici, deux listes déroulantes qui dépendent
l’une de l’autre. Mais c’est quelque chose qu’on peut appliquer à une infinité. On peut faire 5, 6, 7, une infinité de sous-menus. Il n’y a aucun problème, c’est exactement la même méthode.

Si tu ne sais pas comment faire la première liste déroulante, je t’invite à aller regarder
la première partie de ce tutoriel pour créer une liste déroulante. Je vais te mettre le lien juste ici, tu pourras cliquer dessus et aller voir. Et sinon, si tu sais déjà, je vais te montrer comment faire plusieurs listes déroulantes à la suite.

Alors, tout d’abord, on va essayer de choisir un plat. Par exemple, des fruits ou des légumes.Et puis, selon que ce soit des fruits ou des légumes, on va choisir le type d’aliments
qu’on veut manger.

Donc, pour ça, on va commencer par créer la première liste. Donc, une liste de plats Fruits et Légumes. On va la nommer Plats. Donc, liste déroulante. On va dans Données > Validation des données, Autoriser juste une liste, la liste Plats.

Il s’affiche bien, il n’y a pas de souci.

Ensuite, deuxièmement, deuxième choix,comment on va faire ?

Comment créer un second menu déroulant dépendant du premier?

On va créer deux listes disponibles, donc les fruits qu'on avait déjà créés en premier, une liste de fruits, et une liste de légumes.

On va mettre Épinards, courgettes, haricots, Voilà. On va nommer cette liste et on va l’appeler Légumes.

Ce qui est important, c’est que les noms de ces listes soient les mêmes que ceux qui sont retournés par la première liste dans le premier menu.

Donc ici, on a bien une liste qui s’appelle légumes, c’est celle qu’on voit ici.

Une liste qui s’appelle fruits, c’est celle qu’on voit ici.

C’est important que le nom des deux plages soit bien celui qui va être retourné dans le premier menu. Donc, maintenant, pour effectuer le second menu, on va de la même manière se rendre dans la fonction validation des données dans le menu Données. Et on va choisir Liste.

La formule à utiliser pour lier les menus déroulants

Et là, l'astuce, dans Source, on ne va pas indiquer un nom, on va indiquer une formule. On va utiliser INDIRECT de la cellule B2. Qu'est-ce que ça signifie ? La fonction Indirect, qu'est-ce qu'elle fait ? Elle dit : "Va dans la cellule B2 et prend ce que tu y trouves et ne le considère pas comme une valeur mais considère-le comme une adresse de cellules."

Donc, quand on me dit INDIRECT de B2, on dit va dans la cellule B2,
prend ce que tu vas y trouver (Donc, Fruits) mais ne considère pas que Fruits,c’est une chaîne de caractères ; Mais considère que c’est une adresse de cellules.

Si on avait, par exemple, C4, eh bien, on ne considérerait pas que c’est la chaîne de caractères C4, mais que c’est l’adresse d’une cellule C4.

Donc ici, on va se retrouver avec l’adresse Fruits qui correspond à l’adresse de la liste
qu’on a précédemment nommée.

Et c’est ce qui va faire qu’on va retomber sur une liste de valeurs possibles.

Donc si je valide, je vois que j’ai bien une liste de fruits.Ici, je peux choisir.

Maintenant, si je change mon premier menu, on voit que ma liste déroulante change également. Et donc, on a un second menu déroulant qui va dépendre de la valeur
qui était renseignée dans le premier.

Et on pourrait très bien imaginer qu’on crée un troisième menu déroulant, dans lequel on pourrait choisir un troisième paramètre, une troisième catégorie de choix.

Et donc, je ne sais pas, par exemple,le type de haricot ou la cuisson ou ce que vous voulez. Il faudra tout simplement que la liste de choix dans ce troisième menu soit nommée, soit dans une plage nommée et qui est le nom de plage haricot, par exemple. Donc, on a une plage nommée Épinard, une plage nommée Courgettes, et une plage nommée Haricots.

Et à chaque fois, on pourrait imaginer un troisième menu qui liste pour chacun de ces plats,
un troisième sous-menu.
Écoute, j’espère que ce tutoriel t’a aidé et va te permettre d’être plus efficace dans ton travail.

Si tu as des commentaires à faire sur cette vidéo, ou des remarques ou des questions, je t’invite à les poser sur le forum, je vais mettre le lien juste en dessous de la vidéo.

Et tu pourras y répondre et poser directement toutes ces questions.

Et puis, je te dis à très bientôt pour de nouveaux tutoriels.

1 J'aime

Bonjour Docteur Excel,
Merci pour ce tuto très intéressant sur les listes déroulantes combinées.
Par contre tu n’évoques la manière dont tu fais varier le contenu de la
cellule A3 en fonction de ce que l’on sélectionne en B2.
Je vois des façons possibles de le faire avec un =SI( mais il y a peut être
une solution plus adaptée.

Par ailleurs, y a-t-il une façon simple de réinitialiser la cellule du
second choix si l’on change le premier ? (typiquement la remettre “vide”).
En effet dans l’exemple, en changeant le premier, le second reste le même
si l’on ne va pas le changer soit même. Sur des grandes séries de données
cela peut générer des erreurs. La cellule restera remplie mais avec la
mauvaise valeur.

Et merci encore !

Bonjour Edouard

Pour modifier la cellule A3 ( le nom de la liste déroulante en quelque sorte), j’ai utilisé la formule

="Choix de "&B2

qui permet de concaténer la valeur de la cellule avec une chaîne de caractères

Pour éviter les erreurs il existe un autre outils dans Validation des données: Entourer les données non valides
qui permettra de déceler les erreurs

Pour réinitialiser, le mieux est de faire un bouton en VBA qui efface le contenu des 2 cellules!

Bonjour,
Merci bien !
Bonne journée Doc

Bonjour Docteur Excel,

Je viens de découvrir votre chaîne youtube très intéressante, j’ai fais un petit tour du patrimoine, et je suis tombé sur ces vidéos concernant les menus déroulants.
J’ai croisé ce tuto avec un autre d’un “concurrent” : https://www.youtube.com/watch?v=9yelecH-tVk&t=343s

Ma question est la suivante. Est-il possible d’obtenir votre résultat avec la méthode du tableau. J’ai essayé et je me suis cassé les dents sur la formule. J’arrive à obtenir une liste déroulante pour le choix du plat mais je bloque au moment du choix du fruit.

Mon soucis est que mes listes sont amenées à évoluer relativement souvent, et la solution dynamique offerte par le tableau m’arrange bien !

En vous remerciant par avance !

Un nouvel abonnée YT :slight_smile: