OVH Cloud OVH Cloud

xla dans le menu outils plutôt qu'en bouton?

3 réponses
Avatar
Twistal
Bonjour à tous,

un brin perfectionniste je l'admets, j'ai une belle petite macro
complémentaire (ma première, que d'émotion!) qui me donne presque entière
satisfaction et que j'appelle via la barre d'outils (bonhomme jaune qui se
marre).

mais ce que je voudrais vraiment c'est pouvoir l'appeler à partir du menu
déroulant quand on fait menu>outils. ce doit être possible non?et comment?


Merci beaucoup de votre aide!

Twistal

ps: pendant qu'on y est si quelqu'un sait comment faire pour que le fichier
xla appelé se ferme automatiquement après l'exécution ce serait cool car je
n'ai pas encore reglé ce problème.

3 réponses

Avatar
papou
Bonjour
Voici un exemple à adapter à ton cas.
Code à positionner dans un module standard.
Prévoir d'appeler la macro CreerMenu sur l'évènement Workbook_AddinInstall
puis la macro SupprimerMenu sur l'évènement Workbook_AddinUninstall
Cordialement
Pascal

Public option_zozo As CommandBarControl
Sub CreerMenu()
Set option_zozo =
Application.CommandBars("Tools").Controls.Add(msoControlButton, 1, , , True)
With option_zozo
.Caption = "Mon Opt&ion"
.Tag = "Macro comp"
.BeginGroup = True
.OnAction = "MaMacro"
End With
End Sub
Sub SupprimerMenu()
Application.CommandBars("Tools").FindControl(Tag:="Macro comp").Delete
End Sub
Sub MaMacro()
MsgBox "MaMacro qui roule !"
End Sub


"Twistal" a écrit dans le message de
news:
Bonjour à tous,

un brin perfectionniste je l'admets, j'ai une belle petite macro
complémentaire (ma première, que d'émotion!) qui me donne presque entière
satisfaction et que j'appelle via la barre d'outils (bonhomme jaune qui se
marre).

mais ce que je voudrais vraiment c'est pouvoir l'appeler à partir du menu
déroulant quand on fait menu>outils. ce doit être possible non?et comment?


Merci beaucoup de votre aide!

Twistal

ps: pendant qu'on y est si quelqu'un sait comment faire pour que le
fichier
xla appelé se ferme automatiquement après l'exécution ce serait cool car
je
n'ai pas encore reglé ce problème.





Avatar
JB
Bonjour,

1:Si la commande doit être présenet quelquesoit le classeur:

Affichage/BO/Personnaliser/Commandes/Macros
Faire glisser élément perso dans le menu Outils

2: Pour un classeur seulement:

Sub auto_open()
MenuBars(xlWorksheet).Menus("Outils").MenuItems.Add
Caption:="xxxx", OnAction:="xxxx"
End Sub

Sub auto_close()
On Error Resume Next
MenuBars(xlWorksheet).Menus("Outils").MenuItems("xxxx").Delete
End Sub

Cordialement JB

Bonjour à tous,

un brin perfectionniste je l'admets, j'ai une belle petite macro
complémentaire (ma première, que d'émotion!) qui me donne presque e ntière
satisfaction et que j'appelle via la barre d'outils (bonhomme jaune qui se
marre).

mais ce que je voudrais vraiment c'est pouvoir l'appeler à partir du m enu
déroulant quand on fait menu>outils. ce doit être possible non?et com ment?


Merci beaucoup de votre aide!

Twistal

ps: pendant qu'on y est si quelqu'un sait comment faire pour que le fichi er
xla appelé se ferme automatiquement après l'exécution ce serait coo l car je
n'ai pas encore reglé ce problème.


Avatar
Twistal
Parfait, merci beaucoup

"JB" wrote:

Bonjour,

1:Si la commande doit être présenet quelquesoit le classeur:

Affichage/BO/Personnaliser/Commandes/Macros
Faire glisser élément perso dans le menu Outils

2: Pour un classeur seulement:

Sub auto_open()
MenuBars(xlWorksheet).Menus("Outils").MenuItems.Add
Caption:="xxxx", OnAction:="xxxx"
End Sub

Sub auto_close()
On Error Resume Next
MenuBars(xlWorksheet).Menus("Outils").MenuItems("xxxx").Delete
End Sub

Cordialement JB

Bonjour à tous,

un brin perfectionniste je l'admets, j'ai une belle petite macro
complémentaire (ma première, que d'émotion!) qui me donne presque entière
satisfaction et que j'appelle via la barre d'outils (bonhomme jaune qui se
marre).

mais ce que je voudrais vraiment c'est pouvoir l'appeler à partir du menu
déroulant quand on fait menu>outils. ce doit être possible non?et comment?


Merci beaucoup de votre aide!

Twistal

ps: pendant qu'on y est si quelqu'un sait comment faire pour que le fichier
xla appelé se ferme automatiquement après l'exécution ce serait cool car je
n'ai pas encore reglé ce problème.