Bonjour a tous,

Je viens de commencer le VBA dans le cadre d'un stage. Je dois faire une interface utilisateur avec plusieurs ComboBox fonctionnant en Cascade. Cependant je voudrais que le point de départ de la Cascade ne soit pas fixe, c'est a dire que je puisses influencer les autres comboBox grace à n'importe laquelle. Pour cela j'ai créer une fonction Alim_Combo pour qu'a chaque changement la même fonction puisse être utilisée.

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
Private Sub Alim_Combo(Cbxindex As String, valeur As Variant)
 
Dim j As Integer, temp As Variant
Dim obj As Control
Set obj = Me.Controls("ComboBox" & Cbxindex)
 
 
 
For j = 4 To Range("B65536").End(xlUp).Row
 
temp = Range("I" & j)
 
If temp = valeur And obj.ListIndex = -1 And obj <> "" Then obj.AddItem Range("C" & j)
 
Next
 
 
 
End Sub
Ici ma variable obj est constamment vide, j'ai essayé plusieurs syntaxes mais aussi la collection OLEObject qui pour le coup n'est pas comprise par VBA.
En espérant que vous pourrez m'éclairer, je vous souhaite une bonne journée.

Je vous met en dessous l'appel de cette fameuse fonction, peut etre que le problème vient de là mais je ne penses pas car les paramètres d'entrée passe bien.

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
 
Private Sub ComboBox_Tranche_Change()
 
 
If bool = True Then
 
ComboBox_Type.Clear
Alim_Combo "_Type", ComboBox_Tranche.Value
 
 
End If
 If bool = False Then
 
 Exit Sub
 
End If
 
 
End Sub