Test sur objet créé dynamiquement

Bonjour,

Dans un userform j'ai créé dynamiquement des checkbox. J'ai donc un module de classe. (classe1)

Partie de code intéressant la création:

'---------- boucle de création des CheckBox ----------
Set Obj = Me.Controls.Add("forms.Checkbox.1")
For i = 1 To 60   
        With Obj
            .Name = "eleve" & i                                                ' nom du checkbox
            .Object.Caption = sgf.Cells(5, i + 26).Value & i          ' NP élève
            .Left = 4                                                                 ' Départ gauche
            .Top = 16 * i + 25                                                   ' départ haut
            .Width = 120                                                          ' largeur
            .Height = 16                                                           ' hauteur
            .Value = True                                                         ' Coché
            .Locked = False                                                      ' déverrouillé
            .ForeColor = RGB(0, 0, 0)                                        ' couleur noir
        End With

    'ajout de l'objet dans la classe
    Set Cl = New Classe1
    Set Cl.ChkBx = Obj
    Collect.Add Cl
Next i

'------------------------------Fin de boucle de création des CheckBox---------------------------

Sur le bouton "Enregistrer" de mon userform, je veux faire un test sur les valeurs des checkbox pour savoir si elle est égale à true.

Je cherche l'écriture de la ligne de test. Comment l'indicer?

Pour le moment j'ai:

For i = 1 To nbeleves
        Obj.Name = "eleve" & i
        If Obj.Object.Value = True And sgf.Cells(4, i + 26) = "" Then
            sgf.Cells(Lin, i + 26) = "X"
        ElseIf Obj.Object.Value = False And sgf.Cells(4, i + 26).Value = "" Then
            sgf.Cells(Lin, i + 26).Value = 0
        End If
Next i

Merci pour le coup de main

ddetp88

Je me réponds à moi même

En fait il faut le traiter comme un controls habituel situé dans une boucle:

For i = 1 To nbeleves
        If Me.Controls("eleve" & i).Value = True And sgf.Cells(4, i + 26) = "" Then
            sgf.Cells(Lin, i + 26) = "X"
        ElseIf Me.Controls("eleve" & i).Value = False And sgf.Cells(4, i + 26).Value = "" Then
            sgf.Cells(Lin, i + 26).Value = 0
        End If
Next i

ddetp88

Rechercher des sujets similaires à "test objet cree dynamiquement"