Bonjour à tous,
Me voilà confronté à un problème que malgré mes nombreuses recherches, je n'arrive pas à résoudre.
Ma macro génère des formes de type commandbutton en fonction de divers paramètres. Ces boutons doivent ensuite me permettre d'ouvrir un explorateur afin d'indiquer l'emplacement d'un fichier image. J'ai donc besoin d'y mettre le code approprié.
Le problème est que mon code semble fonctionner mais lorsque je clique sur le bouton rien ne se passe...
Un exemple sera certainement plus parlant:
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 Sub créerbouton() Dim spectrum, Obj As Control Dim code As String I = 20 test = "toto" Set spectrum = UserForm1.Controls.Add("Forms.CommandButton.1") With spectrum .Name = test .Caption = test .Left = 300 .Top = 10 + I .Width = 100 .Height = 18 .Visible = True End With code = "Private Sub " & test & "_Click()" & vbCrLf code = code & "Call Tester" & vbCrLf code = code & "End Sub" With ActiveDocument.VBProject.VBComponents("UserForm1").CodeModule .insertlines .CountOfLines + 1, code End With UserForm1.Show End Sub Sub Tester() MsgBox "Vous avez cliquez sur le bouton toto" End Sub
Ces procédures se trouvent dans un module standard.
Lorsque l'on lance la procédure "créerbouton", on retrouve bien le code attendu dans le userform, c'est à dire:
Maintenant, encore plus étrange si je crée un bouton dans le userform que je nomme toto le code fonctionne. bref j'y comprends plus rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub toto_Click() Call Tester End Sub
Pouvez-vous m'aider?
merci
Partager