Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

barre d'outils et bouton de commande

  • Initiateur de la discussion Initiateur de la discussion vincent50
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vincent50

XLDnaute Occasionnel
bonjour, comment faire pour affecter un bouton de commande perso à une macro dans un classeur et à une autre macro dans un autre classeur?
Peut on creer une barre d'outil qui s'ouvre et qui se ferme avec le classeur?
 
Re : barre d'outils et bouton de commande

Bonjour,

voici 2 codes à placer dans "ThisWorkbook".
Le premier code cré "ma macro" dans le menu outils à l'ouverture du fichier et le second enlève "ma macro" à la fermeture du fichier:

Code:
Private Sub Workbook_Open()
    Dim ToolsMenu As CommandBarPopup
    Dim NewMenuItem As CommandBarButton
    Set ToolsMenu = Application.CommandBars(1).FindControl(Type:=10, ID:=30007)
    Set NewMenuItem = ToolsMenu.Controls.Add(Type:=1, Temporary:=True)
    With NewMenuItem
        .Caption = "ma macro"
        .OnAction = "macro1"
    End With
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Application.CommandBars(1).FindControl(Type:=10, ID:=30007).Controls("ma macro").Delete
    On Error GoTo 0
End Sub

La macro s'appelle ici "macro1" qui doit se trouver dans un module.
 
Dernière édition:
Re : barre d'outils et bouton de commande

bonjour, merci pour ta reponse, ca marche super, sauf que mon bouton apparait dans le menu "outils" et j'aimerai si possible qu'il apparaisse dans un nouveau menu "perso".
Est ce possible?
 
Re : barre d'outils et bouton de commande

Bonjour,

voici:

Code:
Private Sub Workbook_Open()
    Dim MenuPerso As CommandBarPopup
    Dim NewMenuItem As CommandBarButton
    Set MenuPerso = Application.CommandBars(1).Controls.Add(Type:=10, Temporary:=True)
    MenuPerso.Caption = "perso"
    Set NewMenuItem = MenuPerso.Controls.Add(Type:=1, Temporary:=True)
    With NewMenuItem
        .Caption = "ma macro"
        .OnAction = "macro1"
    End With
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Application.CommandBars(1).Controls("perso").Delete
    On Error GoTo 0
End Sub

Bonne après-midi.
 
Re : barre d'outils et bouton de commande

Encore une petite chose, comment fait on pour mettre plusieurs boutons de commande dans ce menu car j'ai essayé d'en mettre un deuxieme mais il ne m'affiche que le dernier enregistré, ca n'affiche pas les autres.
 
Re : barre d'outils et bouton de commande

Tu ajoutes ceci à la fin de la première macro:

Code:
    Set NewMenuItem2 = MenuPerso.Controls.Add(Type:=1, Temporary:=True)
    With NewMenuItem2
        .Caption = "ma macro2"
        .OnAction = "macro2"
    End With
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
43
Affichages
812
Réponses
7
Affichages
266
Réponses
3
Affichages
256
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
661
Réponses
4
Affichages
481
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…