Bonjour à tous,
pas de 1er mai pour les développeurs !
Voilà mon problème (plutôt classique, il me semble) :
je dois rendre accessible à plusieurs postes en réseau une macro créant un tableau croisé dynamique à partir d'une feuille de données.
Afin de rendre l'opération plus facile, je charge la macro complémentaire dans excel et j'installe un bouton dans la barre de commande à l'aide du code :
Merci à ouskel'n'or pour son post résumant la manipulation des commandbars.
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 Sub Install_TCD() Dim xlaPath As String Dim nvBouton As CommandBarButton xlaPath = "C:\Documents and Settings\Mes documents\XL_Macro\tcd.xla" ' Installation de la macro dans les macros complémentaires Set myAddin = AddIns.Add(Filename:=xlaPath, CopyFile:=False) AddIns("Tcd").Installed = True Set nvBouton = Application.CommandBars("Worksheet Menu Bar").Controls.Add With nvBouton .Caption = "TCD" .FaceId = 956 .OnAction = "'" & xlaPath & "'!Creation_TCD" .State = msoButtonUp .Style = msoButtonIconAndCaption .Tag = "TCD" .TooltipText = "Création d'un tableau croisé dynamique" End With End Sub
Voici le hic : la macro se déroule bien mais lorsque je clique sur le bouton créé, le message "impossible de trouver la macro..." => .OnAction ne retrouve pas la macro complémentaire. J'ai du me tromper quelque part mais je ne vois pas où.
Contraintes :
- je ne veux pas stocker la macro complémentaire sur le C:/
- si possible (ça serait le top), à chaque appui sur le bouton de la barre de commande, excel appelle une macro que je pourrais modifier à loisir
J'espère avoir été exhaustif !
Merci par avance
Partager