Rendre certaines macros disponible dans menu existant

Lisa

XLDnaute Nouveau
Bonjour,

Je voudrais rendre certaines macros disponibles à l'ouverture du classeur
dans le menu outils (voir l'exemple ci-joint)

Mais je n'ai pas trouvé dans ce classeur comment cela est réalisé
pouvez-vous me conseiller

Je n'ai rien trouvé dans les post qui ressemblait à cela

D'avance merci
Lisa
 

Pièces jointes

  • Capture-1.jpg
    Capture-1.jpg
    44.1 KB · Affichages: 65
  • Capture-1.jpg
    Capture-1.jpg
    44.1 KB · Affichages: 70
  • Capture-1.jpg
    Capture-1.jpg
    44.1 KB · Affichages: 76

bqtr

XLDnaute Accro
Re : Rendre certaines macros disponible dans menu existant

Bonsoir Lisa,

Voici un exemple pour créer deux boutons dans le menu Outils.

Place ces macros dans un module de code standard.

Code:
Sub Creation_Bouton()

Dim MenuOutils As CommandBarPopup
Dim NouveauBT As CommandBarButton
Dim NouveauBT2 As CommandBarButton

SuppBouton

Set MenuOutils = CommandBars(1).FindControl(ID:=30007)
 If MenuOutils Is Nothing Then
    MsgBox "Menu Outils introuvable, impossible de créer un nouveau bouton !.", vbCritical, "Erreur:"
    Exit Sub
 Else
    Set NouveauBT = MenuOutils.Controls.Add(Type:=msoControlButton)
    Set NouveauBT2 = MenuOutils.Controls.Add(Type:=msoControlButton)
      With NouveauBT
        .Caption = "Bouton1"
        .OnAction = "Macro1"
        .BeginGroup = True
      End With
    
      With NouveauBT2
        .Caption = "Bouton2"
        .OnAction = "Macro2"
      End With
 End If

End Sub

Sub SuppBouton()
On Error Resume Next
CommandBars(1).FindControl(ID:=30007).Controls("Bouton1").Delete
CommandBars(1).FindControl(ID:=30007).Controls("Bouton2").Delete
End Sub

Sub Macro1()
MsgBox "Je suis la Macro1", , "Hello"
End Sub
Sub Macro2()
MsgBox "Je suis la Macro2", , "Hello"
End Sub

Ensuite place celles ci dans le module de code du Thisworkbook.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
SuppBouton
End Sub

Private Sub Workbook_Open()
Creation_Bouton
End Sub

La macro de création des boutons s'assure de la présence du menu Outils, s'il existe elle crée les deux boutons à l'ouverture du fichier.
La macro SuppBouton supprime les boutons à la fermeture du fichier.

Attention quand même, jouer avec les barres de commande peut amener bien des désagréments parfois.....

A+
 

bqtr

XLDnaute Accro
Re : Rendre certaines macros disponible dans menu existant

Re,

Tu peux aussi le faire sans macro comme ceci:

-fait un click droit sur la barre de menu
-Sélectionne Personnaliser...
-sélectionne le 2ème onglet : Commandes
-dans la zone Catégories choisis Macros
-Dans la zone Commandes sélectionne le petit Smiley, Click dessus et fait le glisser sur le menu Outils, quand celui ci se déroule positionne le à l'endroit désiré.
-Une fois que tu as le bouton, click droit dessus. Là tu as toutes les options du bouton, modifier le texte, affecter à une macro.....

Pour finir ferme la boite de personnalisation.

Le seule problème, c'est que tu auras les boutons dés que tu ouvriras un fichier Excel (donc pas forcément les macros qui vont avec)

A+
 

Discussions similaires

Réponses
5
Affichages
428

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa