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.
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.
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
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
Partager