4 listes liées en cascade dans un userform

Malka

XLDnaute Occasionnel
Bonjour à tous :cool:

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... :eek:. 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 :confused:

Malka :p
 

Pièces jointes

  • Liste cascade.xls
    26 KB · Affichages: 42
  • Liste cascade.xls
    26 KB · Affichages: 45
  • Liste cascade.xls
    26 KB · Affichages: 42

Dranreb

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

Malka

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

Bonjour Danreb & Pierrot93, :cool:

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

Merci :)

Malka
 

Pièces jointes

  • Liste cascade.xls
    35 KB · Affichages: 46
  • Liste cascade.xls
    35 KB · Affichages: 55
  • Liste cascade.xls
    35 KB · Affichages: 49

Malka

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

Bonjour BoisGontier,:cool:

Merci beaucoup c'est exactement ce que je cherchais !! :eek:
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):eek:
De plus, comment recuperer dans une variable la derniere valeur choisie des 4 listes differentes de vide ?:confused:
Merci beaucoup ! :p

Malka
 

Dranreb

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

  • CbxCascMalka.xls
    165 KB · Affichages: 70
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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

  • Copie de Liste cascade.xls
    49 KB · Affichages: 69
  • Copie de Liste cascade.xls
    49 KB · Affichages: 66
  • Copie de Liste cascade.xls
    49 KB · Affichages: 70

Discussions similaires

Réponses
8
Affichages
1 K
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 502
Messages
2 089 033
Membres
104 010
dernier inscrit
Freba