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

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
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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 :rolleyes:.
 
Dernière édition:

kiki31140

XLDnaute Junior
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 :rolleyes:.
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

  • test.xlsx
    11.4 KB · Affichages: 5

JHA

XLDnaute Barbatruc
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

  • test.xlsx
    13.1 KB · Affichages: 5

kiki31140

XLDnaute Junior
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
 

kiki31140

XLDnaute Junior
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

  • test - Copie.xlsx
    12.3 KB · Affichages: 7

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Une proposition avec des tableau structurés et les noms indexés.
La liste des noms peut très bien être sur une autre feuilles.

Cordialement
 

Pièces jointes

  • Liste déroulante hasco.xlsx
    23.4 KB · Affichages: 8

kiki31140

XLDnaute Junior
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
 

kiki31140

XLDnaute Junior
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 ..
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 810
dernier inscrit
mohammedaminelahbali