Bonjour,
Il s'agit de mon premier post sur ce super site !
Je suis néophyte dans le domaine et je suis en quête comme beaucoup de réponse afin de pouvoir avancer.
Je suis sur un projet nommée "Facturateur" qui permettra à terme de gérer des factures.
J'aimerais utiliser le module de classe afin de*créer des*"Bouton personnalisés" dans une feuille et pas un formulaire.
A ce stade, le code créé bien les boutons mais ne lie pas le code du module de classe et je ne trouve pas où ce situe mon erreur ou mes erreurs
Voici le code dans mon module :
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 Option Explicit Public collect As Collection Sub créa_pack() 'Création Variable Dim Obj As OLEObject Dim Cl As Classe1 Dim i As Integer, Y As Integer Dim largeur As Single, hauteur As Single, PH As Long, PG As Long Dim destcell As Range, Val As String, cell As Range i = 1 'boucle création bouton For Each cell In Range("PackId[ID]") 'destination bouton Set destcell = Worksheets("Facturation").Cells(7, 6 + i) 'val est le nom du pack Val = cell.Offset(0, 1).Value 'taille cellule largeur = Columns(destcell.Column).Width PG = Columns(destcell.Column).Left hauteur = Rows(destcell.Row).Height PH = Rows(destcell.Row).Top Set Obj = Worksheets("Facturation").OLEObjects.Add("Forms.CommandButton.1", Left:=PG, Top:=PH, Width:=largeur, Height:=hauteur) With Obj .Name = "Pack" & " " & Val .Object.Caption = "Pack" & " " & Val End With 'ajout de l'objet dans la classe (c'est ici que le probleme ce situe*surement) Set collect = New Collection Set Cl = New Classe1 Set Cl.ChkBx = Obj.Object collect.Add Cl i = i + 1 Next cell 'Worksheets("Facturation").Protect End Sub
Mon code de module de classe est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Option Explicit Public WithEvents ChkBx As MSForms.CommandButton Sub ChkBx_Click() Range("A1").Select MsgBox "yo" End Sub
Je l'avoue je fais tout en autodidacte et je suis pas trop doué.
Mais en comprenant mon erreur, ça me permettra de m'améliorer.
Je ne sais pas si je procède de la*bonne manière mais je suis prêt à en découdre pour avancer.
Merci beaucoup !
Partager