Bonjour,
Je souhaite réaliser de facon générique une petite application, à partir de VBA et excel.
Pour cela, je souhaite :
- construire des combo box (à partir de VBA)
- garder dans des variables globales des références sur ces combo box
- pouvoir accéder aux propriétés et méthodes (additem,...) des combos box à partir de ces variables
Jusque là, je n'ai pas trouvé d'autre moyen de procéder que ce qui suit :
' variables globales
Dim mycombo As OLEObject
' ma macro sub
Set mycombo = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1" )
Avec la variable mycombo (OLEObject), je peux bien accéder au nom du combo créé. Mais je n'ai aucun moyen de lui appliquer la méthode addItem.
Il faudrait donc que je trouve un moyen de le référencer comme un ComboBox (Dim mycombo as ComboBox), mais dans ce cas, l'execution du code suivant ne fonctionne pas (car OLEObject.Add retourne un OLEObject et pas un ComboBox)
Set mycombo = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1" )
---> error : type mismatch
D'ou ma question de débutant, comment pourrais je faire un truc comme ça :
Dim mycombo as ComboBox
set mycombo=CreateCombo ( parametres ... )
Ou y a t il un moyen alternantif pour référencer des OLEObject et utiliser les méthodes spécifiques (additem,...) ?