BenHarber
XLDnaute Occasionnel
Bonjour à tous les "Forumieux que jamais",
J'ai un nouveau problème (qui est avant tout lié à ma volonté de progresser en programmation VBA !)
J'ai créé un usf qui comporte une trentaine de combobox (zdlDecis1 à zdlDecis30) auxquels je souhaite y attacher le même type de procédure.
Ainsi, plutôt que de créer 30 procédures attachées à chacun des combobox, et si j'ai bien compris la philosophie du post https://www.excel-downloads.com/threads/exemple-dutilisation-des-modules-de-classe.64515/ (merci Myta, MichelXld et Thierry !), il est judicieux de passer par un module de classe.
Mais là, je coince un peu car c'est la 1ère fois que je m'y frotte et je ne suis pas sur de bien comprendre les différentes étapes pour créer un module de classe.
Voilà ce que j'ai fait jusqu'à présent :
1) J'ai créé un nouveau module de classe que j'ai appelé "RegptEvent" et dans lequel j'ai déclaré la variable objet "zdlUsf"
(Public WithEvents zdlUsf As MsForms.ComboBox)
2) "Derrière" mon Usf, j'ai déclaré cette ligne de code :
Private zdlUsf(30) As New RegptEvent
Rq : je ne sais pas exactement ce que cela signifie, je suppose que c'est un préalable nécessaire pour affecter le comportement des 30 combobox sur le module de classe
3) c'est à l'initialisation du formulaire que je bloque. J'avais écrit
Private Sub UserForm_Initialize()
For i = 1 To 30
Set zdlUsf(i) = Controls("zdlDecis" & i)
Next i
End Sub
Mais là plantage ! En fait je pense que mon code n'affecte pas la variable zdlUsf(i) à l'objet combobox…
Quelqu'un pourrait-il me donner un coup de main ?
Merci d'avance.
Cordialement,
J'ai un nouveau problème (qui est avant tout lié à ma volonté de progresser en programmation VBA !)
J'ai créé un usf qui comporte une trentaine de combobox (zdlDecis1 à zdlDecis30) auxquels je souhaite y attacher le même type de procédure.
Ainsi, plutôt que de créer 30 procédures attachées à chacun des combobox, et si j'ai bien compris la philosophie du post https://www.excel-downloads.com/threads/exemple-dutilisation-des-modules-de-classe.64515/ (merci Myta, MichelXld et Thierry !), il est judicieux de passer par un module de classe.
Mais là, je coince un peu car c'est la 1ère fois que je m'y frotte et je ne suis pas sur de bien comprendre les différentes étapes pour créer un module de classe.
Voilà ce que j'ai fait jusqu'à présent :
1) J'ai créé un nouveau module de classe que j'ai appelé "RegptEvent" et dans lequel j'ai déclaré la variable objet "zdlUsf"
(Public WithEvents zdlUsf As MsForms.ComboBox)
2) "Derrière" mon Usf, j'ai déclaré cette ligne de code :
Private zdlUsf(30) As New RegptEvent
Rq : je ne sais pas exactement ce que cela signifie, je suppose que c'est un préalable nécessaire pour affecter le comportement des 30 combobox sur le module de classe
3) c'est à l'initialisation du formulaire que je bloque. J'avais écrit
Private Sub UserForm_Initialize()
For i = 1 To 30
Set zdlUsf(i) = Controls("zdlDecis" & i)
Next i
End Sub
Mais là plantage ! En fait je pense que mon code n'affecte pas la variable zdlUsf(i) à l'objet combobox…
Quelqu'un pourrait-il me donner un coup de main ?
Merci d'avance.
Cordialement,