XL 2016 VBA - Comment intercepter un évènement sur un Control Active X créé dynamiquement

Dudu2

XLDnaute Barbatruc
Bonjour,

Je créé dynamiquement une ComboBox (code ci-dessous)
Je voudrais intercepter un ComboBox_Click().

Faut que je créé un classe ?

VB:
Sub a()
    Dim OLEObj As OLEObject
    Dim ComboBox As msforms.ComboBox
   
    Set OLEObj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
                                            DisplayAsIcon:=False, Left:=700, Top:=100, Width:=328, Height:=16)
    Set ComboBox = ActiveSheet.ComboBox1
End Sub
 
Solution
Bonsoir.
En tout cas il faut que la ComboBox soit globale et WithEvents dans le module objet qui prend en charge l'évènement. Un module de classe serait utile s'il y en a plusieurs.
Si leurs listes doivent être construite automatiquement d'après différentes colonnes d'un même tableau je vous conseille d'utiliser ma classe ComboBoxLiées, elle s'occupe aussi de toute la gestion des choix, et renvoie à son détenteur le ou les numéros de lignes concernés via des évènements.

Discussions similaires

Réponses
16
Affichages
2 K

Statistiques des forums

Discussions
315 093
Messages
2 116 133
Membres
112 667
dernier inscrit
foyoman