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 :
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
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
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 :
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".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Option Explicit Public Collect As Collection
Merci pour votre aide.![]()
Partager