Combobox en cascade

yonessar

XLDnaute Nouveau
Bonjour à tous,

Je manipule et comprends très mal le vba, néanmoins j'ai besoin d'utiliser des combobox en cascade sur un usf simple que j'avais créé, j'ai récupéré un code sur le site
Listes en cascade mais je n'arrive pas à comprendre pourquoi il ne fonctionne pas complétement quand je le recopie sur mon fichier.
Sur ma combobox 1 je récupère bien les infos de la colonne A de l'onglet feuil1 mais je n'arrive pas à obtenir les infos des colonnes B et C des la feuil1 sur les combobox 2 et 3 qui doivent être filtrées en fonction de l'info choisie dans la combobox 1.
Ci joint le fichier.

pour les réponses, je le répète, je suis un ignare en vba, donc n'hésitez pas, parlez moi comme à un débile .... non pas que ça me fasse plaisir, mais ça m'aidera à comprendre.

NB: pr lancer l'usf : double clic sur col A... je précise même si je pense que vous l'auriez qd même trouvé sans précision.
 

Pièces jointes

  • comboboxcascade.xlsm
    31.4 KB · Affichages: 44
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Combobox en cascade

Bonsoir,

Code:
Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("feuil1")
  Set mondico = CreateObject("Scripting.Dictionary")
  For Each c In Range(f.[A2], f.[A65000].End(xlUp))
    mondico(c.Value) = ""
  Next c
  Me.ComboBox1.List = mondico.keys
End Sub

Private Sub ComboBox1_Change()
  Set mondico = CreateObject("Scripting.Dictionary")
  For Each c In Range(f.[A2], f.[A65000].End(xlUp))
    If c = Val(Me.ComboBox1) Then mondico(c.Offset(, 1).Value) = ""
  Next c
  Me.ComboBox2.List = mondico.keys
  Me.ComboBox2.ListIndex = -1
  Me.ComboBox3.ListIndex = -1
End Sub

Private Sub ComboBox2_Change()
  Set mondico = CreateObject("Scripting.Dictionary")
  For Each c In Range(f.[A2], f.[A65000].End(xlUp))
    If c = Val(Me.ComboBox1) And c.Offset(, 1) = Me.ComboBox2 Then mondico(c.Offset(, 2).Value) = ""
   Next c
   Me.ComboBox3.List = mondico.keys
   Me.ComboBox3.ListIndex = -1
End Sub

JB
 

yonessar

XLDnaute Nouveau
Re : Combobox en cascade

Super, ça fonctionne, merci pour la rapidité de la réponse.
Pour ma culture perso, quel terme dans le code, va faire chercher la macro sur les colonnes B et C (je ne vois que la colonne A dans le code) ?
Exsite t il un moyen de pouvoir utiliser la molette de la souris dans les 3 combobox, je n'ai rien trouvé dans les propriétés ?
 

Discussions similaires

Réponses
28
Affichages
1 K

Statistiques des forums

Discussions
312 231
Messages
2 086 455
Membres
103 216
dernier inscrit
LoshR7