Bonjour,
je ne parviens pas à trouver la syntaxe correcte pour affecter une macro à un bouton d'une barre perso pour word que je génère via VBA.
Voici le code qui tourne via excel (pour insérer l'image):
Quand je tourne en debug, Lebouton.onaction vaut :
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 Sub Bouton_Word_Convertopdf_Interactive() Dim LaBarre As CommandBar Dim LeBouton As CommandBarButton Dim NomDeLaBarre, NomMacro, NomClasseur, CheminEtNomImage, ActionDubouton As String ActionDubouton = "Print in PDF using CutePDF (Interactive Mode)" NomDeLaBarre = "MyCutePDF" NomMacro = "Converttopdf_Interactive" NomClasseur = "GSAPI_VBA.Module1" 'GhostScript Api's CheminEtNomImage = ActiveWorkbook.Path & "\Icon_Pdf_1.bmp" 'Insère l'image du bouton dans la feuille Excel ActiveSheet.Pictures.Insert(CheminEtNomImage).Select 'Copie l'image en vue de son application au bouton Selection.Copy Set LaBarre = CutePdf_WordApp.CommandBars(NomDeLaBarre) 'Ajoute le bouton à la barre d'outils personnalisée Set LeBouton = LaBarre.Controls.Add(Type:=msoControlButton) LeBouton.FaceId = 0 LeBouton.Caption = ActionDubouton 'info-bulle du bouton 'LeBouton.OnAction = "'" & NomClasseur & "'." & NomMacro LeBouton.OnAction = NomClasseur & "." & NomMacro 'Collage de l'image sur le bouton LeBouton.PasteFace 'Suppression de l'image dans la feuille de calculs Selection.Delete Set LaBarre = Nothing Set LeBouton = Nothing End Sub
Quand j'ajoute manuellement cette meme macro via Barre d'outils, personnaliser et blablabla, je peux bien sélectionner cette macro, la faire tourner sans problème et le nom semble identique.GSAPI_VBA.Module1.Converttopdf_Interactive
le fichier est GSAPI_VBA.DOT dans c:\Program Files\Microsoft Office\Office11\Startup
le module est Module1
Le projet S'appelle GSAPI_VBA.
Le nom de la macro est correct. (C'est une Sub, sans parametre).
Quelqu'un a une idée ?
Il me dit que cela ne marche pas "The macro cannot be found or has been disabled because of your macro security settings".
Merci pour votre aide.
Partager