Bonjour,

J'ai suivi ce tutoriel :

http://silkyroad.developpez.com/VBA/...asicEditor/#LV

Qui fonctionne très bien. Je l'ai simplement adapté pour afficher dynamiquement un certain nombre de boutton à la place des checkbox. Cela marche également très bien. Mais lorsque j'arrive au moment ou j'ajoute les objets créés dans ma classe, j'obtiens le message d'erreur 424 : "objet requis"

voilà mon code :

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
27
28
29
30
31
32
Private Sub CommandButton1_Click()
 
Set con = connexion
 
'get_nombre_de_boutton (con)
 
 
Dim Obj As Control
Dim Cl As Classe1
Dim i As Integer
 
Set Collect = New Collection
 
For i = 1 To get_nombre_de_boutton(con) 'boucle pour la création des boutons
    Set Obj = Me.Controls.Add("forms.CommandButton.1")
    With Obj
        .Name = "monButton" & i
        .Object.Caption = "le texte" & i
        .Left = 140
        .Top = 30 * i + 10
        .Width = 60
        .Height = 20
    End With
 
    'ajout de l'objet dans la classe
    Set Cl = New Classe1
    Set C1.CButton = Obj
    Collect.Add Cl
Next i
 
 
End Sub
Avec la classe qui va avec :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Option Explicit
 
Public WithEvents CButton As MSForms.CommandButton
 
'Exemple pour gérer l'évènement clic sur les objets type CheckBox
Private Sub CButton_Click()
    'cet exemple affiche le nom et la valeur de l'objet cliqué
    MsgBox CButton.Name & ": " & CButton.Name
End Sub

Je ne comprend pas pourquoi j'obtiens cette erreur. Elle survient à la ligne :

Set C1.CButton = Obj

J'ai pourtant bien créé mon objet, alors pourquoi est ce que l'interpreteur me dit qu'il est requis...?

Sinon comme il est dit dans le tutoriel j'ai également mit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Option Explicit
Public Collect As Collection
dans un module standard, et au passage je ne comprends pas pourquoi je dois déclarer ma collection dans un module à part. Pourquoi je ne peux pas déclarer ma collection en même temps que mon "Set Collect = New Collection".



Merci pour votre aide.