XL 2019 Module de classe et checkbox

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 !

ThierryP

XLDnaute Occasionnel
Bonjour le forum,

Après quelques recherches sur le Net à ce sujet, je me rends compte que mes modestes connaissances et le peu de neurones qui me restent ne me permettent pas d'appliquer les solutions ou pistes que j'ai pu trouver..... La plupart s'adressant à un USF !
J'ai donc sur ma feuille un certain nombre de checkbox (dans le fichier complet il y a plusieurs onglets), et je voudrais déclencher une macro quand on coche un checkbox, basiquement écrire la date dans la cellule correspondante et pour certaines effectuer des trucs un peu plus complexes.

Donc j'ai bien vu qu'il me fallait utiliser un module de classe pour ne pas avoir à écrire des dizaines de fois Checkbox99_Click mais je n'arrive pas à vraiment comprendre la mise en oeuvre ou à transposer ce que j'ai trouvé pour les USF.

Si une bonne âme veut bien me donner quelques informations, je suis preneur !

Merci d'avance,
 

Pièces jointes

Solution
Bonjour
c'est assez simple en fait selon la methode patricktoulon qui consite a tout faire dans le module classe

dans le module thisworkbook et plus précisément dans l'event open
VB:
Dim cl As New classCheck
Private Sub Workbook_Open()
    cl.classage
End Sub
et dans un module classe nommé "classCheck"
VB:
Public WithEvents check As msforms.CheckBox
Dim cls() As New classCheck
Public Function classage()
    Dim Ctl, A&
    For Each Ctl In Feuil1.OLEObjects
        If Ctl.TopLeftCell.Column = 3 Then
            A = A + 1: ReDim Preserve cls(1 To A): Set cls(A).check = Ctl.Object
        End If
    Next
End Function
Private Sub Check_Click()
    MsgBox "tu fait ce que tu veux avec le checkbox " & check.Name

End Sub
Bonjour Patrick,

J'avais bien ajouté le screenupdating=false, mais ça ne change rien, le fichier appelé prend le focus, du coup l'event click du checkbox s'exécute sur le fichier appelé.

Si je fais du pas à pas, je vois que ensuite je ne passe pas dans l'event click du module de classe si je reclique. Il faut que je relance la fonction classage (via Sheet_Activate) pour que cela refonctionne (cf post #12).

Du coup, comment garder le focus sur le fichier appelant, ou alors comment faire pour que ta macro classage enregistre une fois pour toutes les données ?

Merci d'avance de ton retour !
 
- 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
4
Affichages
648
Réponses
9
Affichages
1 K
Réponses
4
Affichages
1 K
Retour