XL 2013 menu déroulant en fonction d'une valeur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kiki31140

XLDnaute Junior
Bonjour Forum
j'ai parcouru les diverses discussions mais je n'ai pas trouvé ce que je souhaite faire.

voici ma problématique.
j'ai trois onglets : 2021, 2022, et analyse
dans 2021 et 2022, j'ai créé des plages avec des noms en vue de les intégrer dans des menus déroulants.
dans analyse, j'ai une case en B2 où je précise une année.
Ce que je souhaite faire en C2, c'est faire apparaitre un menu déroulant en fonction de la valeur en B2
PAr exemple, si j'inscris 2022 en B2, je souhaite avoir le menu déroulant des noms de l'onglet 2022 en C2
Et si je mets 2021 en B2, avoir le menu déroulant des noms 2021.

Je ne peux pas transmettre de fichier car données sensibles. Merci pour votre compréhension

Merci d'avance pour votre aide.
Je continue de chercher

KIKI31140
 
Bonjour @kiki31140 🙂, @Hasco 😉, @JHA 😉,

Ou bien sans dénommer les listes (si les plages des noms sont en colonne B des feuilles des années - colonnes B avec avec en-tête):
En C2, liste de validation:
VB:
=DECALER(INDIRECT(B2&"!b:b");1;0;NBVAL(INDIRECT(B2&"!b:b"))-1;1)

Mais avec un classeur reflétant votre classeur réel, les propositions seraient plus pertinentes 🙄.
 
Dernière édition:
Bonjour @kiki31140 🙂, @Hasco 😉, @JHA 😉,

Ou bien sans dénommer les listes (si les plages des noms sont en colonne B des feuilles des années - colonnes B avec avec en-tête):
En C2, liste de validation:
VB:
=DECALER(INDIRECT(B2&"!b:b");1;0;NBVAL(INDIRECT(B2&"!b:b"))-1;1)

Mais avec un classeur reflétant votre classeur réel, les propositions seraient plus pertinentes 🙄.
Bonjour @mapomme @JHA @Hasco

je vous joint mon fichier test sans données sensibles
j'ai mis un mode opératoire dans le premier onglet "extraction"
Si ce n'est pas assez clair, n'hésitez pas.

Merci d'avance pour vos pistes
 

Pièces jointes

Bonjour à tous,

Tu peux essayer pour les listes déroulantes
VB:
=DECALER(INDIRECT("'"&$B$1&"'!$A$1");1;EQUIV(extraction!$A2;'2021'!$A$1:$D$1;0)-1;NB.SI(INDIRECT("'"&$B$1&"'!$A:$A");"><")-1)
Pour les autres critères
Code:
=DECALER(INDIRECT("'"&$B$1&"'!$A$1");EQUIV($B$2;DECALER(INDIRECT("'"&$B$1&"'!$A$1");;EQUIV(extraction!$A$2;'2021'!$A$1:$D$1;0)-1;NB.SI(INDIRECT("'"&$B$1&"'!$A:$A");"><")-1);0)-1;EQUIV(extraction!$A3;'2021'!$A$1:$D$1;0)-1)
copier vers le bas
Une MFC pour obliger de ressaisir un nom si changement d'année et nom non trouvé.

JHA
 

Pièces jointes

Bonjour à tous,

Tu peux essayer pour les listes déroulantes
VB:
=DECALER(INDIRECT("'"&$B$1&"'!$A$1");1;EQUIV(extraction!$A2;'2021'!$A$1:$D$1;0)-1;NB.SI(INDIRECT("'"&$B$1&"'!$A:$A");"><")-1)
Pour les autres critères
Code:
=DECALER(INDIRECT("'"&$B$1&"'!$A$1");EQUIV($B$2;DECALER(INDIRECT("'"&$B$1&"'!$A$1");;EQUIV(extraction!$A$2;'2021'!$A$1:$D$1;0)-1;NB.SI(INDIRECT("'"&$B$1&"'!$A:$A");"><")-1);0)-1;EQUIV(extraction!$A3;'2021'!$A$1:$D$1;0)-1)
copier vers le bas
Une MFC pour obliger de ressaisir un nom si changement d'année et nom non trouvé.

JHA
Merci @JHA

je viens de tester dans mon fichier test, ça marche super
Je mets ça dans mon fichier à données sensibles et si besoin je reviens vers toi

Bonne journée
 
Bonjour à tous,

Tu peux essayer pour les listes déroulantes
VB:
=DECALER(INDIRECT("'"&$B$1&"'!$A$1");1;EQUIV(extraction!$A2;'2021'!$A$1:$D$1;0)-1;NB.SI(INDIRECT("'"&$B$1&"'!$A:$A");"><")-1)
Pour les autres critères
Code:
=DECALER(INDIRECT("'"&$B$1&"'!$A$1");EQUIV($B$2;DECALER(INDIRECT("'"&$B$1&"'!$A$1");;EQUIV(extraction!$A$2;'2021'!$A$1:$D$1;0)-1;NB.SI(INDIRECT("'"&$B$1&"'!$A:$A");"><")-1);0)-1;EQUIV(extraction!$A3;'2021'!$A$1:$D$1;0)-1)
copier vers le bas
Une MFC pour obliger de ressaisir un nom si changement d'année et nom non trouvé.

JHA
Re @JHA

je viens de mettre les formules dans mon fichiers DS
et ça marche nickel
par contre , j'ai un petit "bug"
j'ai mis mon exemple dans le nouveau fichier test
en effet,, dans mon exemple, je choisi 2021 et le premier nom "dupont1"
dans le menu déroulant en B2, j'ai deux lignes au même nom qui correspondent à ce que j'ai renseigné dans l'onglet 2021.
quand je choisi la premiere ligne ou la deuxième ligne pour le nom, et bien en B6 j'ai toujours les mêmes données
j'espère que mon explication est claire.
je te joint le fichier

merci encore
 

Pièces jointes

Merci @Hasco et @JHA pour vos retours rapides

les deux solutions sont très bien. Il faut que je vois quelle solution est le plus exploitable pour la suite, avec la construction de mon fichier.
@Hasco , je suis un peu novice avec excel, comment est-ce que tu valides la fonction avec les accolades {}
j'ai essayé avec F2 et CTRL+MAJ+Entré et pas de résultats

merci pour ton retour
 
Re,

Cette formule :

n'a pas besoin d'être validée par CTRL+MAJ+ENTREE ce n'est pas une formule matricielle c'est pourquoi j'ai choisi cette approche.

copiez là dans votre cellule et tirez là vers le bas. C'est tout.
je pense que je dois être sur la digestion..lol
j'ai copié la formule, changé la céllule cible (F1) qui n'est pas la même dans mon fichier DS.
j'ai nommé une zone de texte en 2021 et en 2022 et malgré cela ma cellule est vide.
j'ai du raté un truc mais je ne le vois pas ..
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
340
Retour