Module de classe : Help !

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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,
 
Re : Module de classe : Help !

Hello Luc,
Merci pour la rapidité et la pédagogie de ta réponse.
Après quelques essais infructueux, je suis enfin parvenu à faire fonctionner ce module de classe.

D'une manière générale, la manip. m'a l'air un peu compliquée (je pense à l'enchainement de la déclaration des différentes variables) mais je mets ça sur le compte de ma 1ère tentative et, de toute façon, je réserverai ça aux formulaires qui ont vraiment de nombreux contrôles réagissant de manière identique.

Ton aide m'a été précieuse : je touche du bois....

Merci encore et @ +
 
Re : Module de classe : Help !

Merci à toi,

Continue sur les modules de classe, une fois que tu as compris ( j'ai aussi mis du temps !) c'est très utile pour alléger le code et le faire évoluer. Ca vaut la peine de s'y attarder.

Bon courage,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
32
Affichages
978
Retour