Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Ajouter un bouton en haut dans le bandeau excel a cote du ? Apres fenetre
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 !
Re : Ajouter un bouton en haut dans le bandeau excel a cote du ? Apres fenetre
Bonjour,
Pour les versions d'Excel antérieure à Excel 2007,
Essaie ceci :
VB:
Sub test()
Dim Mbar As CommandBar
With Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlButton)
.FaceId = 2992
.OnAction = "mois_moins_un"
.TooltipText = "M-1"
.Caption = "BOUTON A DEPLACER A COTE DE ? APRES FENETRE"
.Style = msoButtonIconAndCaption
End With
End Sub
Pour les versions d'Excel antérieure à Excel 2007,
Essaie ceci :
VB:
Sub test()
Dim Mbar As CommandBar
With Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlButton)
.FaceId = 2992
.OnAction = "mois_moins_un"
.TooltipText = "M-1"
.Caption = "BOUTON A DEPLACER A COTE DE ? APRES FENETRE"
.Style = msoButtonIconAndCaption
End With
End Sub
Re : Ajouter un bouton en haut dans le bandeau excel a cote du ? Apres fenetre
C'est embêtant, car je n'ai que la version Excel 2010 d'installer.
Je ne peux pas vérifier explicitement cette procédure sur Excel 2003.
Tu veux vraiment ajouter un bouton à la barre des menus de la feuille de calcul?
Si tu passes la souris au-dessus de la barre des menus après le point d'interrogation,
est-ce qu'il y a un bouton sans qu'il y ait une icône ou du texte qui se sont ajoutés?
La procédure "Moins_Moins_Un" est dans un module standard?
C'est particulier parce qu'avec ce type de procédure, lorsqu'il y a un problème
cela provoque un message d'erreur...
Essaie comme ceci :
VB:
Sub test()
Dim Mbar As CommandBar
With Application.CommandBars(1).Controls.Add(Type:=msoControlButton)
.FaceId = 2992
.OnAction = "mois_moins_un"
.TooltipText = "M-1"
.Caption = "Mon_Bouton"
.Style = msoButtonIconAndCaption
End With
End Sub
Si cela fonctionnne il fallait exécuter la macro pour avoir le bouton en haut qui apparait, par contre quelque soit le fichier excel que j'ouvre il apparait, alors que la formule n'est pas VBA PROJECT(xls.perso).
Comment faire en sorte que le bouton n'apparaisse que dans le fichier ou il est enregistré ?
Re : Ajouter un bouton en haut dans le bandeau excel a cote du ? Apres fenetre
Place tout le code suivant dans le ThisWorkbook de ton classeur.
La configuration des barres d'outils est conservée dans un fichier
dédié à cette tâche : Excelxx.xlb situé dans ce répertoire sous Windows 7
C:\Users\Ton profil\AppData\Roaming\Microsoft\Excel\
Le xx dans ExcelXX.xlb représente le numéro de ta version d'Excel.
Si tu supprimes ce fichier, toutes les personnalisations des barres d'outils
seront perdues. Lors de l'ouverture suivante, Excel le recrée tel qu'il existait
après l'installation d'Excel. La sauvegarde de la configuration des barres
d'outils se fait à la fermeture d'Excel.
VB:
Private Sub Workbook_Activate()
Dim Mbar As CommandBar
On Error Resume Next
Application.CommandBars(1).Controls("Mon_Bouton").Delete
With Application.CommandBars(1).Controls.Add(Type:=msoControlButton)
.FaceId = 2992
.OnAction = "mois_moins_un"
.TooltipText = "M-1"
.Caption = "Mon_Bouton"
.Style = msoButtonIconAndCaption
End With
End Sub
'--------------------------------------
Private Sub Workbook_Deactivate()
On Error Resume Next
Application.CommandBars(1).Controls("Mon_Bouton").Delete
End Sub
'--------------------------------------
Private Sub Workbook_Open()
Dim Mbar As CommandBar
On Error Resume Next
Application.CommandBars(1).Controls("Mon_Bouton").Delete
With Application.CommandBars(1).Controls.Add(Type:=msoControlButton)
.FaceId = 2992
.OnAction = "mois_moins_un"
.TooltipText = "M-1"
.Caption = "Mon_Bouton"
.Style = msoButtonIconAndCaption
End With
End Sub
Place tout le code suivant dans le ThisWorkbook de ton classeur.
La configuration des barres d'outils est conservée dans un fichier
dédié à cette tâche : Excelxx.xlb situé dans ce répertoire sous Windows 7
C:\Users\Ton profil\AppData\Roaming\Microsoft\Excel\
Le xx dans ExcelXX.xlb représente le numéro de ta version d'Excel.
Si tu supprimes ce fichier, toutes les personnalisations des barres d'outils
seront perdues. Lors de l'ouverture suivante, Excel le recrée tel qu'il existait
après l'installation d'Excel. La sauvegarde de la configuration des barres
d'outils se fait à la fermeture d'Excel.
VB:
Private Sub Workbook_Activate()
Dim Mbar As CommandBar
On Error Resume Next
Application.CommandBars(1).Controls("Mon_Bouton").Delete
With Application.CommandBars(1).Controls.Add(Type:=msoControlButton)
.FaceId = 2992
.OnAction = "mois_moins_un"
.TooltipText = "M-1"
.Caption = "Mon_Bouton"
.Style = msoButtonIconAndCaption
End With
End Sub
'--------------------------------------
Private Sub Workbook_Deactivate()
On Error Resume Next
Application.CommandBars(1).Controls("Mon_Bouton").Delete
End Sub
'--------------------------------------
Private Sub Workbook_Open()
Dim Mbar As CommandBar
On Error Resume Next
Application.CommandBars(1).Controls("Mon_Bouton").Delete
With Application.CommandBars(1).Controls.Add(Type:=msoControlButton)
.FaceId = 2992
.OnAction = "mois_moins_un"
.TooltipText = "M-1"
.Caption = "Mon_Bouton"
.Style = msoButtonIconAndCaption
End With
End Sub
Merci, est-il possible à ce même endroit de la barre d'outils est possible d'y mettre un bouton qui lorsqu'en cliquant dessus apparaisse une liste avec plusieurs macros ?
Re : Ajouter un bouton en haut dans le bandeau excel a cote du ? Apres fenetre
Comme ceci :
Place tout le code dans un module standard.
Dans le ThisWorkbook, événement Workbook_Open,
tu appelles la macro : "Bouton_Mes_Macros"
VB:
Sub Bouton_Mes_Macros()
Dim Ctl As CommandBarControl
On Error Resume Next
Application.CommandBars(1).Controls("Mes macros").Delete
With Application.CommandBars(1)
Set Ctl = .Controls.Add(Type:=msoControlPopup)
End With
With Ctl
.Caption = "Mes macros"
End With
With Ctl.Controls.Add
.Caption = "Macro1"
.Style = msoButtonCaption
.OnAction = "Bonjour"
'.FaceId = ???
End With
With Ctl.Controls.Add
.Caption = "Macro2"
.Style = msoButtonCaption
.OnAction = "Bonsoir"
' .FaceId = ???
End With
'///Tu peux ajouter autant de contrôle que tu désires
'With Ctrl.Controls.add
'....
'end with
End Sub
'--------------------------------------
Sub Bonjour()
MsgBox "Bonjour"
End Sub
'--------------------------------------
Sub Bonsoir()
MsgBox "Bonsoir"
End Sub
Place tout le code dans un module standard.
Dans le ThisWorkbook, événement Workbook_Open,
tu appelles la macro : "Bouton_Mes_Macros"
VB:
Sub Bouton_Mes_Macros()
Dim Ctl As CommandBarControl
On Error Resume Next
Application.CommandBars(1).Controls("Mes macros").Delete
With Application.CommandBars(1)
Set Ctl = .Controls.Add(Type:=msoControlPopup)
End With
With Ctl
.Caption = "Mes macros"
End With
With Ctl.Controls.Add
.Caption = "Macro1"
.Style = msoButtonCaption
.OnAction = "Bonjour"
'.FaceId = ???
End With
With Ctl.Controls.Add
.Caption = "Macro2"
.Style = msoButtonCaption
.OnAction = "Bonsoir"
' .FaceId = ???
End With
'///Tu peux ajouter autant de contrôle que tu désires
'With Ctrl.Controls.add
'....
'end with
End Sub
'--------------------------------------
Sub Bonjour()
MsgBox "Bonjour"
End Sub
'--------------------------------------
Sub Bonsoir()
MsgBox "Bonsoir"
End Sub
Merci, comment faire afin que comme dans le poste #8 ces boutons ne soient que dans le fichier voulu et non dans tous les fichiers excel que l'on ouvrent ?
Re : Ajouter un bouton en haut dans le bandeau excel a cote du ? Apres fenetre
Après avoir copié les macros précédentes dans un module standard,
tu ajoutes ceci dans le Thisworkbook de ton fichier.
C'est le même principe que précédemment.
VB:
Private Sub Workbook_Activate()
Call Bouton_Mes_Macros
End Sub
'----------------------
Private Sub Workbook_Deactivate()
On Error Resume Next
Application.CommandBars(1).Controls("Mes macros").Delete
End Sub
'----------------------
Private Sub Workbook_Open()
Bouton_Mes_Macros
End Sub
Après avoir copié les macros précédentes dans un module standard,
tu ajoutes ceci dans le Thisworkbook de ton fichier.
C'est le même principe que précédemment.
VB:
Private Sub Workbook_Activate()
Call Bouton_Mes_Macros
End Sub
'----------------------
Private Sub Workbook_Deactivate()
On Error Resume Next
Application.CommandBars(1).Controls("Mes macros").Delete
End Sub
'----------------------
Private Sub Workbook_Open()
Bouton_Mes_Macros
End Sub
merci, une nouvelle question lorsque je change le nom de macro1 ou macro2 sur la ligne caption j'ai toujours en fermant et enregistrant le programme et en rouvrant macro1 ou macro2 qui apparait.
Re : Ajouter un bouton en haut dans le bandeau excel a cote du ? Apres fenetre
Le contrôle que tu ajoutes est fait par la macro.
à chaque ouverture du fichier, la macro s'exécute et crée le nouvel élément du menu.
Si tu veux modifier le nom "Macro1" et "Macro2", tu dois le faire dans la macro qui
crée ces commandes. Cela ne sert à rien de vouloir modifier cela par la fenêtre "Personnaliser"
- 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