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 :
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
Merci à ouskel'n'or pour son post résumant la manipulation des commandbars.

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