Back to blog

Guide complet et détaillé pour créer des listes déroulantes dynamiques dans Google Sheets

Guide complet et détaillé pour créer des listes déroulantes dynamiques dans Google Sheets

Créer des listes déroulantes en cascade (ou dynamiques) est une compétence essentielle pour concevoir des tableurs professionnels. L'objectif est d'adapter les choix d'une liste en fonction de ce qui a été sélectionné précédemment.

Imaginez un formulaire de saisie de stock. Si un utilisateur sélectionne la catégorie "Électronique" dans une première cellule, la seconde cellule ne doit lui proposer que des options pertinentes comme "Ordinateur", "Téléphone" ou "Tablette". Cela accélère la saisie et rend la saisie de données erronées impossible.

Étape 1 : organiser vos données de référence (la fondation)

La réussite de ce système repose entièrement sur la façon dont vous organisez vos listes de choix. Il est impératif de séparer ces données de votre tableau principal en créant un nouvel onglet, que l'on appellera par exemple "Paramètres".

  1. Utilisez la première ligne de cet onglet pour lister vos catégories principales (les "parents"). Par exemple, tapez "Électronique" en A1, "Mobilier" en B1, et "Fournitures" en C1.
  2. Sous chaque catégorie, listez verticalement les sous-catégories correspondantes (les "enfants").

Étape 2 : comprendre et créer les plages nommées

Par défaut, Google Sheets identifie les cellules par leurs coordonnées (comme A1:A10). Les "plages nommées" permettent de remplacer ces coordonnées par un mot compréhensible. C'est le cœur de la mécanique des listes dynamiques.

  1. Sélectionnez les sous-catégories de votre première colonne, de A2 jusqu'à A10 (attention : ne sélectionnez surtout pas l'en-tête en A1).
  2. Rendez-vous dans le menu Données > Plages nommées.
  3. Un panneau s'ouvre à droite. Vous devez donner à cette plage de cellules exactement le même nom que son en-tête. Tapez Électronique.
  4. Répétez cette étape rigoureusement pour les colonnes "Mobilier" et "Fournitures".
Règle d'or des plages nommées : Google Sheets refuse les espaces et les caractères spéciaux (comme les tirets ou les apostrophes) dans les noms de plages. Nous verrons à l'étape 5 comment contourner ce problème.

Étape 3 : mettre en place la première liste déroulante (le parent)

Nous allons maintenant créer la liste de base sur votre onglet principal (celui où vous travaillez au quotidien).

  1. Cliquez sur la cellule qui doit contenir le choix de la catégorie principale (par exemple, A2).
  2. Allez dans Données > Validation des données > Ajouter une règle.
  3. Dans la section des critères, sélectionnez Menu déroulant (à partir d'une plage).
  4. Cliquez sur l'icône de grille pour sélectionner une plage de données, allez sur votre onglet "Paramètres" et sélectionnez la ligne de vos en-têtes (A1:C1).
  5. Cliquez sur Terminer. Votre première liste est opérationnelle.

Étape 4 : configurer la liste dynamique avec la fonction INDIRECT (l'enfant)

Il est temps de lier la seconde liste à la première. Pour cela, nous utilisons la fonction INDIRECT. Pédagogiquement parlant, cette fonction sert à transformer du simple texte en une véritable référence de cellule ou de plage.

Si la première liste affiche le mot "Mobilier", la fonction INDIRECT va dire à Google Sheets : "Va chercher la plage nommée qui s'appelle exactement Mobilier".

  1. Sélectionnez la cellule à côté (par exemple, B2), qui contiendra la liste dynamique.
  2. Retournez dans Données > Validation des données > Ajouter une règle.
  3. Sélectionnez Menu déroulant (à partir d'une plage).
  4. Dans le champ de saisie, entrez cette formule exacte : =INDIRECT(A2) (A2 étant la cellule de votre première liste).
  5. Cliquez sur Terminer.

Étape 5 : gérer les cas complexes (espaces et caractères spéciaux)

Comme mentionné à l'étape 2, vous ne pouvez pas nommer une plage "Gros électroménager" à cause de l'espace. Si votre catégorie principale contient un espace, la fonction INDIRECT ne trouvera pas la plage correspondante.

La solution consiste à nommer votre plage en remplaçant l'espace par un tiret du bas (underscore), par exemple Gros_électroménager. Ensuite, pour que votre seconde liste fasse la liaison correctement, vous devez utiliser la fonction SUBSTITUE imbriquée dans la fonction INDIRECT :

=INDIRECT(SUBSTITUE(A2; " "; "_"))

Cette formule indique à Google Sheets : "Prends le texte en A2, remplace tous les espaces par des tirets du bas, puis cherche la plage qui porte ce nom modifié".

Dépannage et résolution des erreurs courantes

  • L'erreur de la ligne rouge : Lors de la saisie de la formule INDIRECT à l'étape 4, il est fréquent qu'un avertissement rouge indique "Plage non valide". C'est normal si la cellule A2 est vide au moment de la création. Le tableur ne sait pas encore quelle plage chercher. Validez quand même.
  • La seconde liste reste vide : Vérifiez scrupuleusement l'orthographe. Le texte de votre première liste et le nom de la plage nommée doivent être strictement identiques à la lettre près (accents compris).
  • La liste ne se met pas à jour quand je change le premier choix : Google Sheets ne vide pas automatiquement la seconde cellule si vous changez le choix de la première. La valeur restera affichée avec un petit triangle rouge d'erreur jusqu'à ce que l'utilisateur clique dessus pour choisir une nouvelle option valide.

Discover my AI tools

Explore the Gemotheque, generate optimized prompts for ChatGPT and Midjourney, or test my dedicated AI assistants.