Listes déroulantes de cellule (en cascade)

baissaoui Messages postés 450 Date d'inscription jeudi 2 septembre 2021 Statut Webmaster Dernière intervention 1 décembre 2022 - 23 juin 2022 à 15:27
Document initial créé par Raymond PENTIER

La liste déroulante de cellule est un moyen pratique et fiable de choisir, entre plusieurs données, celle qu'on souhaite placer dans la cellule.
Lorsqu'il y a de nombreuses données, et qu'on peut les classer en catégories,
il devient intéressant d'organiser des LDC en cascade.



Principe

- Dans une cellule, la liste déroulante permet de choisir une catégorie.
- Dans une autre cellule, la liste déroulante sera fonction du choix précédent,

ce qui permet de circonscrire les recherches et de traiter de longues listes en les fractionnant rationnellement.
- Utiliser Données/Validation des données/Liste et la fonction INDIRECT.

Listes déroulantes de cellule en cascade

Pour la première LDC, procédure normale (voir "Liste déroulante de cellule (simple)" dans cette rubrique) ; pour les autres LDC, on désigne la source indirectement.

Étape 1 = Préparer les plages contenant les différents listes.

a)
Saisir une liste des départements, et définir le nom [Dep] pour cette plage : Guadeloupe en B2, Guyane en C2, Martinique en D2, Réunion en E2.
b) Saisir en B3, B4, etc et par ordre alphabétique le nom des 34 communes de Guadeloupe : Abymes, Anse-Bertrand, Baie-Mahault, etc ; définir le nom [Guadeloupe] pour la plage B3:B36.
c) De même saisir en C3, C4, etc les 22 communes de Guyane ; en D3, D4, etc celles de Martinique ; en E3, E4, etc celles de la Réunion. Définir le nom [Guyane] pour la plage C3:C24, le nom [Martinique] pour la plage D3:D36, le nom [Réunion] pour la plage E3:E26.

Étape 2 = Créer une LDC qui affiche le nom du département.
d)
Dans une autre feuille du classeur, créer en B1 une liste déroulante de cellule avec comme Source la formule =Dep et définir le nom [départ] pour cette cellule.
e) En B3 créer une liste déroulante avec comme Source la formule =INDIRECT(départ).

Manipulation

  • Commencer par choisir un département en B1, puis vérifier que dans la LDC de B3 ne sont listées que les communes du département sélectionné.
  • Faire le choix de la commune dans B3.
  • Un simple Copier/Coller permet de reproduire (sans retouches) la cellule B3 et sa liste déroulante.

ATTENTION !
  • Les données de la plage [Dep] ne doivent pas contenir d'espaces, ni de caractères réservés
     / \ " ? > < : | *
    et tout trait d'union - sera remplacé par un underscore _
  • On évitera donc de saisir "La Martinique", et "St-Pierre-et-Miquelon" deviendra "St_Pierre_et_Miquelon".

Poursuivre les cascades

Étape optionnelle
  • Sur le même principe, on peut créer d'autres LDC en cascade par rapport aux données du deuxième niveau.
  • Ainsi, on pourrait pour chacune des cellules B3:E12 prévoir une LDC proposant la liste des quartiers de la commune, ou la liste des élus locaux.
  • C'est un travail délicat, où il faut de la logique et de la rigueur pour bien structurer les listes ... Mais le résultat en vaut la peine !

Nouveauté

Février 2017, une fiche vient enrichir l'étude des listes en cascade : https://forums.commentcamarche.net/forum/affich-37641899-excel-liste-deroulante-en-cascade-sans-plage-nommee
et compléter les fiches déjà éditées :
https://www.commentcamarche.net/applis-sites/bureautique/549-creer-des-listes-deroulantes-dans-excel/
https://forums.commentcamarche.net/forum/affich-37641917-excel-principe-d-edition-de-devis-facture-commande
https://forums.commentcamarche.net/forum/affich-37641899-excel-liste-deroulante-en-cascade-sans-plage-nommee