Menu déroulant dynamique

Temps de lecture : 3 minutes

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]))

Donnees sans doublon avec la fonction UNIQUE

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#

Diese pour appeler le resultat dune fonction matricielle

Exercice d'application

Vous pouvez aussi vous exercez avec cet exercice en ligne.

Lien pour faire l'exercice

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.

Menu déroulant avec une liste de valeurs disctinctes sans vide

Et aussi un menu déroulant avec recherche partielle

Menu déroulant saisie semi automatique

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

  1. Sélectionnez vos données sources
  2. Activez le menu Insertion > Tableau
  3. Important, cochez la case Mon tableau comporte des en-têtes
  1. Rouvrez le menu Données > Validation de données
  2. 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

Menu déroulant dynamique
Menu déroulant 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,

  1. Sélectionnez l'une des cellules du Tableau
  2. Allez dans le menu Création de Tableau (tout à droite des menus du ruban)
  3. 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.

 

11 Comments

  1. pascal palombi
    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

    Reply

    • Frédéric LE GUEN
      02/03/2023 @ 18:58

      Oui bien sur, mais selon votre besoin, il y a de nombreuses façon de le construire

      Reply

  2. DE COURNUAUD Patrick
    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

    Reply

    • Frédéric LE GUEN
      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.

      Reply

  3. Deleurence
    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

    Reply

  4. cathy
    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

    Reply

  5. Rahma Ferrara
    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 :-/

    Reply

  6. MGR
    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

    Reply

  7. Benji12
    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) ?

    Reply

    • Frédéric LE GUEN
      20/11/2020 @ 13:24

      Bonjour,
      Non, ça ce n'est pas possible

      Reply

  8. JM
    30/10/2020 @ 22:41

    Merci ça a fonctionné 🙂

    Reply

Leave a Reply

Your email address will not be published. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

RECHERCHE D’EMPLOI AVEC