4 listes liées en cascade dans un userform

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

Malka

XLDnaute Occasionnel
Bonjour à tous 😎

Je voudrais lier 4 listes en cascade dans un userform et garder en memoire (dans une variable je suppose) la derniere valeur choisie parmis les 4 niveaux... 😱. Dans chacune des liste, il ne faut pas que j'ai des doublons à l'affichage.
J'ai mis ci-joint un exemple de base de données sur 4 niveaux (en réalité ma base fait 3000 lignes)
Merci pour votre soutien 😕

Malka 😛
 

Pièces jointes

Re : 4 listes liées en cascade dans un userform

Bonjour,
Il y a aussi mon module de classe ComboBoxCasc qui se charge de toute la gestion des choix et nécessite très peu de programmation dans l'userform
P.S. Si j'avais trouvé l'userform dont vous parlez dans votre pièce jointe, j'aurais sans doute déjà joint un classeur équipé de tout ce qu'il faut, tellement le système est facile et rapide à adapter à n'importe quel besoin entrant dans ce cadre.
À +
 
Dernière édition:
Re : 4 listes liées en cascade dans un userform

Bonjour Danreb & Pierrot93, 😎

Merci beaucoup pour vos réponses ! 😛
Pierrot93, ton lien est une mine d'or ! merci 😎
Danreb, je suis preneuse (curieuse 😕) de ta proposition .... j'ai crée un userform dans le fichier

Merci 🙂

Malka
 

Pièces jointes

Re : 4 listes liées en cascade dans un userform

Bonjour BoisGontier,😎

Merci beaucoup c'est exactement ce que je cherchais !! 😱
Je viens de le tester sur mon fichier en vrai et ca marche. Par contre, est ce que les choix des 4 listes peuvent garder l'ordre d'origine (sans reclasser par ordre alphabetique)😱
De plus, comment recuperer dans une variable la derniere valeur choisie des 4 listes differentes de vide ?😕
Merci beaucoup ! 😛

Malka
 
Re : 4 listes liées en cascade dans un userform

Voilà.
Je pense que ça bat tout les records en termes de quantité de code à adapter et aussi en performance à l'exécution.

Remarque: les données d'entrée n'ont pas besoin d'être classées, mais il n'est absolument pas prévu de les présenter autrement que classées dans les ComboBox.
À +
 

Pièces jointes

Dernière édition:
Re : 4 listes liées en cascade dans un userform

Voir PJ

Code:
Dim f, a()
Private Sub UserForm_Initialize()
  Set f = Sheets("BD")
  Set mondico = CreateObject("Scripting.Dictionary")
  a = f.Range("A2:D" & f.[A65000].End(xlUp).Row).Value
  For i = LBound(a, 1) To UBound(a, 1)
    mondico(a(i, 1)) = ""
  Next i
  Me.ComboBox1.List = mondico.keys
End Sub

Private Sub ComboBox1_click()
  Me.ComboBox2.Clear
  Me.ComboBox3.Clear
  Me.ComboBox4.Clear
  Set mondico = CreateObject("Scripting.Dictionary")
  For i = LBound(a, 1) To UBound(a, 1)
     If a(i, 1) = Me.ComboBox1 Then mondico(a(i, 2)) = ""
  Next i
  Me.ComboBox2.List = mondico.keys
  Me.TextBox1 = Me.ComboBox1
End Sub

Private Sub ComboBox2_click()
  Me.ComboBox3.Clear
  Me.ComboBox4.Clear
  Set mondico = CreateObject("Scripting.Dictionary")
  For i = LBound(a, 1) To UBound(a, 1)
     If a(i, 1) = Me.ComboBox1 And a(i, 2) = Me.ComboBox2 Then mondico(a(i, 3)) = ""
  Next i
  Me.ComboBox3.List = mondico.keys
  Me.TextBox1 = Me.ComboBox2
End Sub

Private Sub ComboBox3_click()
  Me.ComboBox4.Clear
  Set mondico = CreateObject("Scripting.Dictionary")
  For i = LBound(a, 1) To UBound(a, 1)
    If a(i, 1) = Me.ComboBox1 And a(i, 2) = Me.ComboBox2 And a(i, 3) = Me.ComboBox3 Then mondico(a(i, 4)) = ""
  Next i
  Me.ComboBox4.List = mondico.keys
Me.TextBox1 = Me.ComboBox3
End Sub

Private Sub ComboBox4_click()
   Me.TextBox1 = Me.ComboBox4
End Sub

JB
 

Pièces jointes

- 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
8
Affichages
1 K
Compte Supprimé 979
C
Retour