Création de listes déroulantes dynamiques à partir de tableaux
Glissez pour afficher le menu
Vous avez déjà appris à lier une liste déroulante à une plage fixe, comme la colonne Status. Cela fonctionne, mais dès que votre liste s’agrandit, la nouvelle entrée se trouve en dehors de la référence et n’apparaît jamais dans la liste déroulante.
Les tableaux Excel résolvent ce problème de manière élégante. Lorsque la source d’une liste déroulante est une colonne de tableau Excel, la référence s’étend automatiquement à mesure que vous ajoutez des lignes.
Configuration d’une feuille de référence
Avant de créer un tableau, il est recommandé de placer vos données de liste sur une feuille dédiée — séparée de la zone principale de saisie des données. Cela permet de garder le classeur organisé et facilite la gestion des listes.
Étape 1 — Création d’une nouvelle feuille :
- Cliquez simplement sur l’icône
+à côté de l’onglet le plus à droite ; - Double-cliquez sur le nouvel onglet et renommez-le en
Lists.
Étape 2 — Ajout de votre première liste :
- Cliquez sur la cellule A1 et saisissez un en-tête — par exemple,
Status; - Entrez chaque valeur dans les lignes en dessous, une par cellule :
- A2 :
Open - A3 :
Closed - A4 :
Pending
- A2 :
- Gardez la colonne propre — pas de lignes vides, pas d’espaces superflus, pas de cellules fusionnées.
Étape 3 — Conversion d’une plage en tableau Excel :
Avant de lier une liste déroulante à un tableau, les données de votre liste doivent être formatées comme tel :
- Cliquez n’importe où dans la plage de votre liste ;
- Appuyez sur
Ctrl + T(Win) oucmd + T(Mac) ; - Confirmez la plage et cochez Mon tableau comporte des en-têtes ;
- Cliquez sur OK.
Excel attribue au tableau un nom par défaut tel que Table1. Renommez-le avec un nom significatif — par exemple, Statuses — via l’onglet Création de tableau.
Référence à une colonne de tableau dans la validation
Vous ne pouvez pas saisir une référence structurée comme =Statuses[Status] directement dans le champ Source de la validation des données — Excel ne l'accepte pas à cet endroit. Une solution élégante consiste à utiliser la fonction INDIRECT, qui convertit une chaîne de texte en une référence de plage valide.
Étape par étape :
- Sélectionner les cellules de la colonne
Statusdans votre tableau principal ; - Ouvrir Validation des données → Paramètres → Liste ;
- Dans Source, saisir :
=INDIRECT("Statuses"); - Cliquer sur OK.
Désormais, lorsqu'une nouvelle valeur est ajoutée à Statuses, la liste déroulante la reflète immédiatement — aucune utilisation du Gestionnaire de noms n'est nécessaire.
INDIRECT est une fonction volatile, ce qui signifie qu'Excel la recalcule à chaque recalcul du classeur. Pour une petite liste de référence comme celle-ci, cela ne pose pas de problème. Cependant, dans des classeurs très volumineux avec de nombreuses cellules validées, cela peut ralentir les performances — dans ce cas, l'approche avec une plage nommée est préférable. Vous en apprendrez davantage sur ce compromis dans le prochain chapitre.
Exercice
Fichier : continuez à travailler avec le même fichier que dans la section précédente.
- Aller sur la feuille Lists et ajouter une nouvelle valeur sous
Pendingdans le tableau Statuses :- A5 :
Cancelled
- A5 :
- Revenir à la feuille principale et cliquer sur la liste déroulante dans n'importe quelle cellule Status.
- Vérifier que
Cancelledapparaît désormais dans la liste avecOpen,ClosedetPending.
Cela confirme que la référence INDIRECT est active — la liste déroulante s'est mise à jour sans aucune modification de la règle de validation elle-même.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion