Bonjour,
Mon objectif est ce créer un classeur Excel, qui charge une macro présente sur le réseau, qui s'exécute lorsque l'utilisateur clique sur le bouton créée dans une commandBar.
Voici ce que je met dans mon classeur :
Voici comment j'appelle ma macro bandeau.xla avec sa fonction principale :
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 Private Sub Workbook_BeforeClose(Cancel As Boolean) 'Cache la barre d'outils Application.CommandBars("Calcul_bandeau").Visible = False 'efface la barre d'outils Application.CommandBars("Calcul_bandeau").Delete End Sub Private Sub Workbook_Open() Dim CBar As CommandBar, CBarCtl As CommandBarControl 'Charge les macro complémentaires AddIns.Add("T:\Calcul Bandeau\bandeau.xla", False).Installed = True ' Créer une nouvelle barre d'outils visible. Set CBar = Application.CommandBars.Add(Name:="calcul_bandeau", Position:=msoBarTop) CBar.Visible = True ' Créer un bouton avec du texte sur la barre et définir certaines propriétés. Set CBarCtl = CBar.Controls.Add(Type:=msoControlButton) With CBarCtl .Caption = "Calcul du bandeau" .Style = msoButtonCaption .TooltipText = "Dépile les informations définies dans l'onglet 'Relevé Video'" .OnAction = "T:\Calcul Bandeau\bandeau.xla!bandeau" End With End Sub
Le problème c'est qu'Excel refuse de me lancer la fonction principale bandeau() lorsque j'appuie sur le bouton. Il me dit que ma macro est déjà chargée. A mon avis le OnAction n'est pas bon, mais je pense avoir essayé un paquet de truc et à chaque fois ça plante !?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Function Bandeau() ' Sélection de la feuille active Worksheets("Relevé Video").Activate ... End Function
Je suis preneur de toutes les pistes que vous pourrez me donner,
Merci
Partager