Les Barres D'outils Et Les Menus Personnalisés - FAQ Excel

Cet exemple est placé dans le module objet du classeur et utilise l'évènement Workbook_Open. De cette manière, la barre est créée automatiquement lors de l'ouverture du fichier.

VbaSélectionnezPrivate Sub Workbook_Open() Dim CmdBar As CommandBar Dim Bouton As CommandBarButton 'Création de la barre d'outils nommée 'MaBarrePerso' Set CmdBar = Application.CommandBars _ .Add(Name:="MaBarrePerso", Position:=msoBarTop, Temporary:=True) 'Ajout de 3 boutons dans la barre d'outils Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton) With Bouton 'Définit "l'image" qui va s'afficher sur le bouton .FaceId = 133 'Définit quelle macro est associée au bouton. 'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton. .OnAction = "Macro1" End With Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton) With Bouton .FaceId = 134 .OnAction = "Macro2" End With Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton) With Bouton .FaceId = 135 .OnAction = "Macro3" End With CmdBar.Visible = True End Sub

Ce deuxième code utilise l'évènement Workbook_BeforeClose et supprime la barre personnelle lors de la fermeture du classeur.

VbaSélectionnezPrivate Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Application.CommandBars("MaBarrePerso").Delete End Sub

Rappel : Dans Excel 2007, les menus et barres d'outils personnels sont stockés dans l'onglet "Complément".

Tag » Code Vba Disparu