Liste deroulante 2 niveaux

  • Initiateur de la discussion Initiateur de la discussion VALISAMBA
  • Date de début Date de début

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 !

V

VALISAMBA

Guest
Bonjour à tous,

j'ai créé un menu deroulant afin de selectionner mes produits (voir onglet 1 ci-joint) - j'ai bien créé ma liste dans l'onglet 2.PAr contre je souhaite que quand je selectionne mon produit, le tarif s'accrémente directement dans ma cellule surlignée en bleue dans l'onglet 1...je n'arrive pas à lier les 2.
Merci de votre aide précieuse
je m'arrache les cheveux depuis ce matin sur les forums !!
(ci-joint mon fichier)

merci à vous
 

Pièces jointes

Re : Liste deroulante 2 niveaux

Bonjour,

Un petit essai ci-joint, avec cette formule en C15 et copiée vers le bas:
Code:
=RECHERCHEV(A15;Feuil1!$A$2:$B$30;2;FAUX)

Pour qu'il n'y ait pas de blancs dans la liste de validation de la colonne A, j'ai modifié la zone nommée Produits avec cette formule:
Code:
=DECALER(Feuil1!$A$2;;;NBVAL(Feuil1!$A:$A);)

Bon après-midi,

mth
 

Pièces jointes

Re : Liste deroulante 2 niveaux

re 🙂

La seconde formule est visible dans le gestionnaire de noms: Menu Formules / cliquer sur "gestionnaire de noms" dans le ruban.

Dans la fenêtre qui s'affiche, sélectionner le nom "Produits", c'est sur la ligne du bas "fait référence à " que j'ai modifié la formule.

@ +

mth
 
Re : Liste deroulante 2 niveaux

re re 🙂🙂🙂🙂🙂

Merci beaucoup, cela eclaire vraiment mes lanternes !!! puis je abuser ?
Je souhaite mùainetant avoir mon menu déroulant 1 (colonne A onglet 2 ) qui me propose des produits en menu déroulant 2 (colonne B onglet 2) pour les tarifs rien ne change....je ne sais pas si je suis claire. en fit dans mon 1er onglet j'aimerai selectionner 1 type de produit , puis mes sous produits et afficher mes prix......

un grand merci ( ci-joint mon fichier)
 

Pièces jointes

Re : Liste deroulante 2 niveaux

re 🙂

voici ton fichier en PJ, j'ai placé dans l'onglet Tables les tables "Produit" : zone nommée avec cette formule:
Code:
=DECALER(Tables!$A$2;;;NBVAL(Tables!$A:$A)-1;)

et une table SousProduit: zone nommée avec cette formule:
Code:
=DECALER(Tables!$E$1;EQUIV(BDC!$A15;Tables!$E:$E;0)-1;1;NB.SI(Tables!$E:$E;BDC!$A15);)

Ainsi, les deux listes déroulantes sont liées.
J'ai remis la fonction RECHERCHEV():
Code:
=SI(B15="";"";RECHERCHEV(B15;Tables!$F$1:$G$30;2;FAUX))
(en faisant l'hypothèse que les Sous-Produits étaient uniques)

Vois si cela peut t'aider

Bonne soirée,

mth
 

Pièces jointes

Re : Liste deroulante 2 niveaux

UN ENORME MERCI🙂🙂🙂🙂🙂🙂...j'ai appliqué les formules et c'est carrement top....dernier bémol je souhaite insérer un champs "vierge" dans mes menu déroulant (si on veut laisser une ligne vierge) un message d'erreur apparait dans la colonne des tarifs, malgré que je renseigne 0€ dans ma table....seule solution que je mette un commentaire, sauf que je voulais une ligne sans "rien"....je n'arrive pas à mettre la formule dans les tarifs : si colonne A ou B vierge alors 0€...

merci de ton aide très précieuse. ci-joint mon fichier

bien amicalement
 

Pièces jointes

Re : Liste deroulante 2 niveaux

Salut VALISAMBA, mth 🙂, Le Forum

Pas trop sur d'avoir compris mais si tu met un espace à la fin de tes listes ça sera pris en compte dans tes listes

Et pour éviter les N/A et autre erreurs modifie ta formule en D14 comme suit et incrémente vers le bas

Code:
=SI(OU(B14=" ";B14="";ESTERREUR(B14));"";RECHERCHEV(B14;tables!$C$2:$D$38;2;FAUX))
Bises Mimi 🙂 et Bonne Journée à Tous
 

Pièces jointes

Re : Liste deroulante 2 niveaux

Bonjour,

J'ai sensiblement le meme problème. je m'explique.

j'ai un fichier excel avec 3 niveaux, je souhaiterai que les personnes à qui j'envoie le fichier puisse se retrouver dans ces 3 niveaux.

dans le fichier suivant il y le niveau 1 ; 3 et 5.

je souhaiterai faire une liste déroulant de tous les niveau 1, la personne clique sur un choix et cela lui ouvre une autre liste déroulante qui correspond au niveau 3 et de même pour accéder au niveau 5. Enfin dans le niveau 5, soit la personne surligne ou coche la ou les cases correspondant à ce qu'il fait.

est ce que tout cela est possible. Pour information j'ai plus de 2500 niveau 5...

MERCIII
 

Pièces jointes

Re : Liste deroulante 2 niveaux

bonsoir momostunt, bonsoir à tous,

je ne comprends pas trop ta question momostunt, dans la mesure où tu as dans la première colonne un filtre qui permet déjà de n'afficher que les lignes correspondant à 1, 3 ou 5 ?

Bien à toi,

mth
 
Re : Liste deroulante 2 niveaux

oui pour le moment c'est comme cela. c'est un fichier qui sera envoyer à des exposants de salon et nous avons besoin de connaitre leur positionnement en niveau 1, en niveau 3 et en niveau 5. il y a plus de 50 niveau 1 ; 400 niveau 3 et plus de 2500 niveau 5 et le tout est indigeste au possible. C'est pour cela que nous avions penser à ce système de listes déroulantes "en cascade" pour les aider à faire leur choix.
 
Re : Liste deroulante 2 niveaux

Bonjour momosunt, le forum,

momostunt tu trouvera un essai dans ton fichier ci-joint, les niveaux sont dans l'onglet table, la zone nommée "Niveaux" est définie avec cette formule:
Code:
=DECALER(Table!$A$2;;;NBVAL(Table!$A:$A)-1)

Tu as une liste déroulanta dans l'onglet principal, les cellules E1 et F1 sont utilisées pour récupérer la valeur choisie.
Le filtre se met à jour en fonction du choix avec ce code:
VB:
Sub choix()
Dim Lig As Long, Vritere As String
With Sheets("Définitif")
Lig = .Cells(Rows.Count, 1).End(xlUp).Row
Vcritere = .Range("F1")
If Vcritere = "tous" Then
.Range("$A$2:$A$" & Lig).AutoFilter Field:=1
Else
.Range("$A$2:$A$" & Lig).AutoFilter Field:=1, Criteria1:=Vcritere
End If
End With
End Sub

Quant à la colonne à cocher, je te propose de mettre un x ou de l'enlever par simple double clic:
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Columns(3)) Is Nothing And Target.Count = 1 Then
Cancel = True
With Target
.Value = IIf(Len(.Value), "", "x")
End With
End If
End Sub

Pour éviter de saisir autre chose que x dans cette colonne, j'ai également mis une validation de données.

Je te laisse voir si cela peut t'aider,

Bonne journée,

mth
 

Pièces jointes

Re : Liste deroulante 2 niveaux

Merci mth !

Cependant même en cochant le niveau 1 "Machines outils travaillant par enlèvement de métal " quand on passe dans le niveau 3 on a les niveaux 3 correspondant à"Machines outils travaillant par enlèvement de métal " mais aussi ceux correspondant à "Machines-outils travaillant sans enlèvement de matière". Il n'y a pas un moyen de faire une sélection ? parce que pour les niveau 1 et 3 cela peut passer mais pour le niveau 5 la personne va devoir lire les 2500 lignes alors que par exemple seulement 50 correspondent au choix préalablement fait au niveau 1 et 3.
 
Re : Liste deroulante 2 niveaux

Bonjour MTH, le forum !

je vais vers avec la version que tu m'a fournie, par contre je ne sais pas comment tu a fait je n'y arrive pas...je sais j'abuse mais pourrai tu le faire sur mon fichier entier s'il te plait.

je te l'envois par mail car il est un poil trop lourd. Je te remercie !!!

le voici :
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
1 K
C
Réponses
0
Affichages
1 K
cptass71
C
A
  • Question Question
Réponses
3
Affichages
2 K
M
Réponses
8
Affichages
1 K
J
Réponses
10
Affichages
1 K
  • Question Question
Microsoft 365 Liste déroulante
Réponses
5
Affichages
1 K
B
Réponses
4
Affichages
2 K
benoitoleron
B
Retour