Hello,

Après une demi-journée de recherche sur Internet, je sollicite votre aide.

Besoin :

Je souhaite créé dans une feuille excel une checkbox sur un nombre de ligne indéfinie à raison d'une checkbox par ligne dans une colonne bien défini la "G".
Bien sûr, pour la macro associé aux évenement de la checkbox, je souhaite utiliser un module de classe.
Tout ça via une macro, sinon ça serait pas drôle

Problème :
J'ai trouvé comment créé cette checkbox mais je n'arrive pas à rattacher l'événement. à Chaque fois je bute sur une erreur "Type non défini" sur la ligne "Public WithEvents ChkBx As MSForms.CheckBox" se trouvant dans le module de classe.

Structure du code
La création des checkbox est lié à un bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Option Explicit
Public Collect As Collection
 
Sub Bouton_creadashboard_Cliquer()
Dim C1 As Classe1
Dim obj As Control
Dim i As Integer
Dim obj_range_dashboard As Range
 
Set obj_range_dashboard = Worksheets("dashboard_incidents").Range("A2:N100")
Set obj = CheckBoxes.Add("forms.Checkbox.1")
 
Do
    With obj
        .Name = "chk_bx_" & i
        .Object.Caption = ""
        .Left = obj_range_dashboard.Cells(i, 7).Left
        .Top = obj_range_dashboard.Cells(i, 7).Top
        .Width = obj_range_dashboard.Cells(i, 7).Width
        .Height = obj_range_dashboard.Cells(i, 7).Height
    End With
    Set C1 = New Classe1
    Set C1.ChkBx = obj
    Collect.Add C1
    i = i + 1
Loop Until obj_range_incident.Cells(i + 1, 1) = ""
Dans un module de classe appellé "Classe1" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Option Explicit
Public WithEvents ChkBx As MSForms.CheckBox
 
Private Sub ChkBx_Click()
    'Ici le code de l'évenement click sur checkbox
End Sub
Avez-vous idée de ce qui provoque cette erreur de type non défini sur MSForms.CheckBox et comment la contourner ?

J'ai fait différent test mais rien de concluant.

Merci pour votre aide.