XL 2016 Menu déroulant cascade sans doublon

desmonts

XLDnaute Occasionnel
Bonjour à toutes et tous

j'ai 3 colonnes avec des menus déroulants, je voudrais que la 2 nde colonne me propose uniquement des choix en fonction de la 1ère colonne, la 3 ème en fonction de la seconde. avec la fonction indirect cela fonctionne.
Mais dans mon onglet table j'ai contruit tout en colonne donc je ne peux pas passer par cette fonction

et ce que je souhaiterai c'est quand je séléctionne dans l'onglet synth en colonne A ma liste déroulante me propose Espagne qu'une seule fois et non pas 10 ou 15 fois, France etc, après avoir sélectionné Espagne dans ma colonne 1 n'avoir en liste de choix en colonne 2 qu'un seul D, E, F et non pas 2 D, 1E et 2 F (supprimer les doublon d'info)
Choix 1 choix 2 choix 3
Espagne D
D
E
F
F
Je sais pas si je suis clair, je vous mets un petit fichier excel, par avance merci de vos retours.
 

Pièces jointes

  • essai.xlsx
    12 KB · Affichages: 46

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonjour,

cf PJ

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([A2:C100], Target) Is Nothing And Target.Count = 1 Then
    Set mondico = CreateObject("Scripting.Dictionary")
    Select Case Target.Column
     Case 1
      For Each c In Application.Index([MaBD], , 1)
        mondico(c.Value) = ""
      Next c
     Case 2
      For Each c In Application.Index([MaBD], , 2)
        If c.Offset(0, -1) = Target.Offset(0, -1) Then mondico(c.Value) = ""
      Next c
     Case 3
       For Each c In Application.Index([MaBD], , 3)
         If c.Offset(0, -1) = Target.Offset(0, -1) And _
            c.Offset(0, -2) = Target.Offset(0, -2) Then mondico(c.Value) = ""
       Next c
    End Select
    If mondico.Count > 0 Then
      Target.Validation.Delete
      Target.Validation.Add xlValidateList, Formula1:=Join(mondico.keys, ",")
    End If
  End If
End Sub

jb
 

Pièces jointes

  • Copie de DVCascadeMenu3NivInf200.xls
    61.5 KB · Affichages: 35
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, bonjour le forum,

Bon... passer derrière Jacques c'est du suicide !... Mais comme j'ai fait l'effort de commenter tout le code je me permets d'envoyer quand même (la honte). Pour garantir le fonctionnement il y a du code dans trois composant différents : ThisWorkbook, Feuil1(synth) et Module1...
Le fichier :
 

Pièces jointes

  • Desmonts V01.xlsm
    25.3 KB · Affichages: 35

desmonts

XLDnaute Occasionnel
Un grand merci à vous 2,
Robert il y a un petit truc qui ne fonctionne pas complètement quand tu sélectionnes espagne, FNR D, en desi il met automatiquement 94342V 01 alors que je devrais pouvoir choisir entre 94342V 01 et A0096V 01. Mais en tout cas un grand merci car tu as expliqué en détail ton code pour les néophite comme moi cela me permet de progresser.
Jacques super cela fonctionne exactement comme je souhaitais.
cdt,
 

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
311 732
Messages
2 081 995
Membres
101 857
dernier inscrit
mt60400