XL 2010 Liste en cascade à 2 niveaux

  • Initiateur de la discussion Initiateur de la discussion TheProdigy
  • 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 !

TheProdigy

XLDnaute Impliqué
Bonjour,

Ma question serait bête mais je ne suis pas arrivé à la réaliser. Vous m'avez aidé à réalisé une liste en cascade à 5 niveaux, mais je me trouve incapable de la réaliser celle de 2 niveaux pour les Combobox 6 et 7. J'ai réussi à alimenter le ComoBox 6 mais pas le ComboBox 7
En ComboBox 7 je dois avoir la deuxième colonne de la feuille "parametres"

Quelqu’un pourrait m'aider ?

Merci
 

Pièces jointes

Bonsoir adil, pierrejean, le Forum 🙂

Met tb() en entête du formulaire, ensuite copie ce code

VB:
Private Sub ComboBox6_Click()
  Set p = Sheets("parametres")
  Set mondico = CreateObject("Scripting.Dictionary")
  tb = p.Range("a2:b" & p.Range("a" & Rows.Count).End(xlUp).Row).Value
  For i = LBound(tb, 1) To UBound(tb, 1)
  If tb(i, 1) = Me.ComboBox6 Then mondico(tb(i, 2)) = ""
  Next i
  temp = mondico.keys
  Call Tri(temp, LBound(temp), UBound(temp))
  Me.ComboBox7.List = temp
End Sub

Change aussi tous les [A 65 000] par Range("a" & Rows.Count) ou autre colonne.

J'ai un doute avec ceci
With Sheets("Annuaire")
no_ligne = .Cells(Rows.Count, 1).End(xlUp).Row + 1
'Insertion des valeurs sur la feuille
.Cells(no_ligne, 8) = Now 'Colonne H - Mais le texte c'est Achat?? 😵
.Cells(no_ligne, 9) = CDate(DTPicker1.Value)
End With

VB:
Private Sub CommandButton_Ajouter_Click()
Dim no_ligne As Long, civilite As String
   
      With Sheets("Annuaire")
        no_ligne = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        'Insertion des valeurs sur la feuille
        .Cells(no_ligne, 1) = ComboBox2.Value
        .Cells(no_ligne, 2) = ComboBox5.Value
        .Cells(no_ligne, 3) = ComboBox1.Value
        .Cells(no_ligne, 4) = ComboBox4.Value
        .Cells(no_ligne, 5) = ComboBox3.Value
        .Cells(no_ligne, 8) = Format(Now, "hh:mm")
        .Cells(no_ligne, 9) = CDate(DTPicker1.Value)
      End With
   
        Application.EnableEvents = False
        MsgBox ("la ligne a été ajoutée avec succés")
        Application.EnableEvents = True

       For i = 1 to 5
              Controls("ComboBox" & i) = ""
       Next i
End Sub
 
Dernière édition:
Bonsoir adil, pierrejean, le Forum 🙂

Met tb() en entête du formulaire, ensuite copie ce code

VB:
Private Sub ComboBox6_Click()
  Set p = Sheets("parametres")
  Set mondico = CreateObject("Scripting.Dictionary")
  tb = p.Range("a2:b" & p.Range("a" & Rows.Count).End(xlUp).Row).Value
  For i = LBound(tb, 1) To UBound(tb, 1)
  If tb(i, 1) = Me.ComboBox6 Then mondico(tb(i, 2)) = ""
  Next i
  temp = mondico.keys
  Call Tri(temp, LBound(temp), UBound(temp))
  Me.ComboBox7.List = temp
End Sub

Change aussi tous les [A 65 000] par Range("a" & Rows.Count) ou autre colonne.

J'ai un doute avec ceci
With Sheets("Annuaire")
no_ligne = .Cells(Rows.Count, 1).End(xlUp).Row + 1
'Insertion des valeurs sur la feuille
.Cells(no_ligne, 8) = Now 'Colonne H - Mais le texte c'est Achat?? 😵
.Cells(no_ligne, 9) = CDate(DTPicker1.Value)
End With

VB:
Private Sub CommandButton_Ajouter_Click()
Dim no_ligne As Long, civilite As String
  
      With Sheets("Annuaire")
        no_ligne = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        'Insertion des valeurs sur la feuille
        .Cells(no_ligne, 1) = ComboBox2.Value
        .Cells(no_ligne, 2) = ComboBox5.Value
        .Cells(no_ligne, 3) = ComboBox1.Value
        .Cells(no_ligne, 4) = ComboBox4.Value
        .Cells(no_ligne, 5) = ComboBox3.Value
        .Cells(no_ligne, 8) = Format(Now, "hh:mm")
        .Cells(no_ligne, 9) = CDate(DTPicker1.Value)
      End With
  
        Application.EnableEvents = False
        MsgBox ("la ligne a été ajoutée avec succés")
        Application.EnableEvents = True

       For i = 1 to 5
              Controls("ComboBox" & i) = ""
       Next i
End Sub
Bonjour tb () en tête veux-tu dire name du formulaire?
 
Bonjour adil

Quand tu te sera décidé une bonne fois pour toute. Là je passe la main.
Une fois je veux si, une fois je veux ça, maintenant je veux ça.

Et qu'est-ce que ça à avoir le titre du message avec ce que tu demande?!
 
Dernière édition:
Bonjour @Lone-wolf , bonjour le forum,

C'est juste dans le cadre de l’apprentissage, de la formation et de l’échange inter membres et non pas dans le cadre de la solution car la solution a été trouvée par @pierrejean que je remercie. J'ai essayé depuis le 07 Mai mais je n'y suis pas arrivé.
Et qu'est-ce que ça à avoir le titre du message avec ce que tu demande?!
Je me rappelle vous m'avez dit de ne pas créer des sous-fil de discussion voilà pourquoi "Une liste en cascade mais avec des option buttons" c'est la relation avec le sujet, au lieu de copier le ficher et créer une nouvelle discussion j'ai exécuté ton conseil et continué sur la discussion.

Merci @Lone-wolf Merci @pierrejean merci le forum

Bonne journée!
 
- 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
40
Affichages
1 K
Retour