Bonjour,

J'ai un projet qui consiste à faire un moteur de recherché sous Excel 2010.

Pour se faire, j'ai créé des listes à partir d'un tableau sur une feuille.

Pour le moment, mes combobox se remplissent en fonctions du choix selectionné dans la combobox 2.

J'aimerais savoir si c'est possible de remplir par exemple une combobox 3 à partir du choix de la combobox 1 ET du choix de la combobox 2 ?



Voici le code que j'ai actuellement :

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
Private Sub remplissage(ByVal Lst As ComboBox, ByVal Col As Integer, Optional ByVal Crit As String, Optional ColPere As Integer = 1)
Dim LastLig As Long
Dim c As Range
 
If Crit = "" Then Crit = "*"
 
With Worksheets("Listes")
    LastLig = .Cells(.Rows.Count, 1).End(xlUp).Row
 
    For Each c In .Cells(2, Col).Resize(LastLig - 2)
 
        If c <> "" Then
 
            If CStr(c.Offset(, ColPere - Col).Value) Like Crit Then
                Lst.Value = c
 
                If Lst.ListIndex = -1 Then Lst.AddItem c
            End If
 
        End If
 
    Next
 
End With
Lst.ListIndex = -1
End Sub
 
 
 
Private Sub UserForm_Initialize()
 
Me.StartUpPosition = 2
UserForm4.OptionButton1 = True
Me.liste1.Clear
Me.liste2.Clear
Me.liste3.Clear
Me.liste4.Clear
Me.liste5.Clear
remplissage Me.liste1, 2
remplissage Me.liste2, 4
remplissage Me.liste3, 10
remplissage Me.liste4, 9
remplissage Me.liste5, 11
 
End Sub
 
 
 
Private Sub liste1_Change()
 
Me.liste1_2.Clear
If Me.liste1.ListIndex > -1 Then remplissage Me.liste1_2, 3, Me.liste1.Value, 2
 
Me.liste2.Clear
If Me.liste1.ListIndex > -1 Then remplissage Me.liste2, 4, Me.liste1.Value, 2
 
End Sub
 
 
 
Private Sub liste2_Change()
 
 
Me.liste2_2.Clear
If Me.liste2.ListIndex > -1 Then remplissage Me.liste2_2, 5, Me.liste2.Value, 4
 
Me.liste2_3.Clear
If Me.liste2.ListIndex > -1 Then remplissage Me.liste2_3, 6, Me.liste2.Value, 4
 
Me.liste3.Clear
If Me.liste2.ListIndex > -1 Then remplissage Me.liste3, 10, Me.liste2.Value, 4
 
Me.liste2_4.Clear
If Me.liste2.ListIndex > -1 Then remplissage Me.liste2_4, 7, Me.liste2.Value, 4
 
Me.liste4.Clear
If Me.liste2.ListIndex > -1 Then remplissage Me.liste4, 9, Me.liste2.Value, 4
 
Me.liste5.Clear
If Me.liste2.ListIndex > -1 Then remplissage Me.liste5, 11, Me.liste2.Value, 4
 
End Sub


Merci d'avance