Cet article va vous expliquer comment créer un menu déroulant qui va se réactualiser automatiquement
Créer un menu déroulant dans Excel
Nous avons vu dans cet article comment créer un menu déroulant dans une cellule de feuille de calcul.
Seulement, avec la technique traditionnelle, l'ajout de nouveau élément dans la source de données ne se reflète pas dans le menu déroulant

Mais il est facile de corriger ce problème, soit en utilisant un Tableau, ou encore en utilisant les fonctions matricielles dynamiques
Méthode avec les nouvelles fonctions
Grâce aux fonctions d'Excel 365 il est très facile de pouvoir récupérer le contenu d'une colonne et même sans les doublons. Tout d'abord, nous allons utiliser la fonction UNIQUE.
=UNIQUE(Tableau1[Prénom]))



Seulement, il n'est pas possible d'indiquer directement une formule matricielle dans la référence d'une liste d'un menu déroulant
Mais pour rappeler le résultat d'une fonction matricielle, il faut utiliser une référence étendue grâce au symbole #.
=C2#



Exercice d'application
Vous pouvez aussi vous exercez avec cet exercice en ligne.



Autres cas d'utilisation des fonctions matricielles dans un menu déroulant
En associant la fonction UNIQUE et FILTRE, nous pouvons créer un menu déroulant sans blanc. Découvrez la technique dans cet article.



Et aussi un menu déroulant avec recherche partielle



Si vous n'avez pas Excel 365
Pour rendre dynamique une liste déroulante, une autre solution assez simple consiste à passer par l'outil Tableau et la fonction INDIRECT



- Sélectionnez vos données sources
- Activez le menu Insertion > Tableau
- Important, cochez la case Mon tableau comporte des en-têtes



- Rouvrez le menu Données > Validation de données
- Changez la source en indiquant la formule suivante
=INDIRECT("Tableau1[Prénom]")



L'utilisation de la fonction INDIRECT est obligatoire car la zone Source, ne peut pas comprendre les références d'un Tableau
Mais juste avec cette formule, votre liste déroulante est dynamique



Explication de la formule INDIRECT
La difficulté de cette technique, c'est que vous devez écrire la référence du Tableau manuellement dans la fonction INDIRECT.
Tout d'abord il est important de connaitre le nom de votre Tableau. Par défaut Excel nomme les tableaux Tableau1, Tableau2, ... Il est donc important avant de vous lancer dans l'écriture de la formule de vérifier le nom donné au Tableau.
Pour connaître le nom du Tableau,
- Sélectionnez l'une des cellules du Tableau
- Allez dans le menu Création de Tableau (tout à droite des menus du ruban)
- Le nom du Tableau apparaît dans le ruban en haut à gauche



Indiquez ensuite le nom de la colonne que vous voulez retourner. Pour cela, nous devons respecter la codification des références dans un Tableau. A savoir écrire le nom de la colonne entre crochets.
Tableau1[Prénom]
La fonction INDIRECT permet en fait d'interpréter la référence de la colonne du Tableau. Tout simplement.
02/03/2023 @ 16:14
bonjour
est t'il possible d'avoir un menu deroulant par exemple
XAUUSD
EURUSD
est en fonction du choix que l'on prend sa applique tel ou tel formule de calcule
02/03/2023 @ 18:58
Oui bien sur, mais selon votre besoin, il y a de nombreuses façon de le construire
02/12/2022 @ 19:54
Formule appliquée et essayée en ajoutant un nom manuelemnt; mais boîte de dialogue qui s'ouvre avec :
"Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule"
Comment y remédier ?
Merci
03/12/2022 @ 14:37
Heuuuu, je ne peux absolument pas vous apporter une réponse car il peut y avoir des dizaines de raisons.
27/02/2021 @ 17:23
Bonjour, besoin d'un petit conseil d'expert : j'ai une colonne avec menu déroulant : équipe concernée qui contient 7 noms d'equipes , j'ai une autre colonne a coté avec un menu deroulant egalement et je voudrais y faire apparaître le nom des personnes appartenant à l'équipe sélectionnée...comment je relie les noms des personnes avec le nom des equipes ?? Merci de votre aide
27/12/2020 @ 22:41
bonjour,
J'ai un tableau avec des articles puis une colonne de prix par rapport à un vendeur et une 3eme colonne de prix par rapport à un autre vendeur soit colonne A articles colonne B prix X colonne C prix Y
Dans ma base de données sur une autre feuille suivant la liste déroulante d'articles j'aimerais que ma cellule de prix se modifie suivant le vendeur soit :
colonne D vendeur X ou Y en liste déroulante
colonne E articles en liste déroulante
Colonne F prix unitaire en fonction du prix et du vendeur.
Est-ce possible de trouver la formule qui correspond ??
=SI(E3="";"";RECHERCHEV(E3;TARIFS!$A$1:$C$18;3;FAUX)*ET(D3=VENDEURS!$A$2;Classeur1.xlsx!PRIX_X;Classeur1.xlsx!PRIX_Y;-1)) ne fonctionne que pour 1 des 2 vendeurs
un petit coup de main svp merci beaucoup
11/12/2020 @ 15:42
Bonjour,
Lorsque le menu déroulant contient des centaines de lignes,
-> est-il possible de simplifier la saisie en n'ayant un ajustement dynamique des propositions du menu déroulant en fonction des lettres saisies ?
Je ne sais pas si ma question est clair :-/
25/11/2020 @ 17:54
Bonjour,
J'ai un onglet de ENTREPRISES :
Nom : adresse : ....
Ensuite j'ai un onglet CONTACTS :
Entreprise : nom : prénom
Dans l'onglet OPPORTUNITES j'ai :
Entreprise : nom contact
Je voudrais pouvoir dans ce dernier onglet, lors de la saisie d'une opportunité, après avoir saisie l'entreprise en col A pouvoir avoir une validation des noms de contacts de cette entreprise en fonction de toutes les occurrences de l'entreprise dans l'onglet contact. Si vous pouvez m'aider ? Merci
20/11/2020 @ 12:31
Bonjour,
Merci pour vos explications toujours claires !
Dans la continuité des listes déroulantes, est-il possible d'y afficher un choix par défaut (sans passer par du vba) ?
20/11/2020 @ 13:24
Bonjour,
Non, ça ce n'est pas possible
30/10/2020 @ 22:41
Merci ça a fonctionné 🙂