bonjour,

J'ouvre une nouvelle discussion concernant les ComboBox en cascade et une ListBox de résultat dans un USERFORM

Car étant assez novice en vba, j'ai consulter les tutos de SilkyRoad et les différentes discussions je n'arrive toujours pas à avancer.

Pour pouvoir avancer pas à pas, MON FICHIER ET uSERfORM SE PR2SENTE COMME CE6CI/

onglet source: shtDb (matrice)
onglet pour le bouton d'accès au UserForm: shtConsult (RECHERCHE)
données du combobox1: concerne la colonne D
données du combobox2: concerne la colonne E
données du combobox3: concerne la colonne F
données à afficher dans la Listbox1: concerne la colonne C (liens hypertexte que je veux rendre actif par la suite avec un ListBox1_Click)


ci-dessous mon code complet de l'USERFORM:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Option Explicit
Dim f, a()
 
Private Sub UserForm_Initialize()
  Set f = Sheets("matrice")
  Set mondico = CreateObject("Scripting.Dictionary")
  a = f.Range("C2:F" & f.[C65000].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.ListBox1 = 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.ListBox1 = Me.ComboBox2
End Sub
 
 
 
Private Sub ComboBox3_click()
   Me.TextBox1 = Me.ComboBox3
End Sub
Pour commencer simple mon premier problème est dès que je lance l'USERFORM, il bloque sur:

Set mondico dans l'UserForm_Initialize

et le message est: "erreur de compilation:variable non définie"

merci beaucoup pour votre aide j'ai à cœur d'apprendre le vba pour me simplifier la vie