Passer une variable comme nom de controle ActiveX
Bonjour.
J’éprouve des difficultés a coder une partie de mon programme. J'aimerais pouvoir copier la liste complète d'une combobox pour l'attribuer a une autre combobox.
Je peux le faire via ce bout de code :
Code:
Sheets("test").ComboBox2.List = Sheets("test").ComboBox1.List
Mais ce que j'aimerais bien, c'est qu'a la place de donner au compileur le nom de mes objets (combobox1,combobox2,...), je puisse utiliser des variables dans lesquelles sont contenues le nom de mes combobox (ex nomShape = "combobox" & i ; testCombo = "combobox" & i + 1).
Donc j'arrive a un bout de code qui ressemble a ceci, mais qui ne marche pas du tout :
Code:
1 2 3 4 5 6 7
| Sub Change()
i = 1
nomShape = "combobox" & i
testCombo = "combobox" & i +1
Sheets("test").Activate
Sheets("test").(nomShape).List = Sheets("test").(testCombo).List
End Sub |
Je vous le dis de suite, le compileur n'aime pas (rien que la dernière ligne est en rouge) mais je n'ai pas d'autre idée pour utiliser ces variables pour cibler mes combobox. Est ce que quelqu'un aurait une syntaxe différente a me proposer?
D'avance merci!