[VBA] Ajouter un bouton personnalité (lié à une macro VBA) dans une barre

Le
HD
Bonjour,

Plutôt que de cliquer sur un bouton se trouvant sur une feuille, je voudrais
que l'utilisateur puisse avoir un bouton pour lancer sa macro dans une barre
Excel. Mais comment le faire manuellement ? Et comment le faire également
via script vba afin que si j'importe mon projet vba dans un autre classeur
que le bouton soit crée automatiquement ?

Je suis en Excel 2007.

Merci d'avance
--
@+
HD
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FdeCourt
Le #21044161
Salut,

Pour ajouter une nouvelle barre Excel par Macro, avec un bouton :

Dim CmdBar As CommandBar
Dim Bouton As CommandBarButton
monType = msoButtonWrapCaption

On Error Resume Next
Application.CommandBars("maBarredOutils").Delete

Set CmdBar = Application.CommandBars _
.Add(Name:="maBarredOutils", Position:=msoBarTop, _
Temporary:=True)

Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 133
.Tag = "SonNOm"
.OnAction = "LaMacroAppellee"
.Caption = "LeTexteAffiche"
.Style = monType
End With
CmdBar.Visible = True

Ensuite, tu peux ajouter tous les boutons que tu veux.
Si tu souhaites qu'elle soit créée à chaque ouverture du classeur, ou
chaque activation, appelle ce code dans ThisWorkBook, avec les macros
Workbook_Open() et Workbook_Activate(), ainsi que le bout de code de
suppression dans Workbook_Deactivate() (ou tu peux simplement la
cacher avec cmdBar.visible = false)

Cordialement,

F.
FFO
Le #21044321
Salut à toi

Pour créer un bouton sur la barre Excel

Manuellement :

Outils/Personnaliser
Choisir Fenêtre de gauche "Macros"
Fenêtre de droite cliquer/glisser le bouton Personnalisé sur la barre Excel
Le bouton ainsi créé sélectionné :
Modifier la sélection
Choisir soit Modifier l'image du bouton soit Texte seul pour ce bouton et
saisir le nom du bouton dans la fenêtre "Nom"
Puis Modifier la sélection (une 2° fois)
Affecter une macro
Choisir la macro et Ok
Fermer

Le bouton est opérationnel

Par VBA utilises ce code :

With Application.CommandBars("Worksheet Menu
Bar").Controls.Add(Type:=msoControlButton)
.Style = msoButtonCaption
.Caption = "Macro"
.OnAction = "Classeur1.xls!Macro"
End With

Actualises les lignes :

.Caption = "Macro" du nom que tu souhaites mettre pour ton bouton
.OnAction = "Classeur1.xls!Macro" du nom du classeur et de la macro à affecter

Celà devrait convenir

Dis moi !!!!!
HD
Le #21072041
> Pour créer un bouton sur la barre Excel
Manuellement :
Outils/Personnaliser
Choisir Fenêtre de gauche "Macros"
Fenêtre de droite cliquer/glisser le bouton Personnalisé sur la barre
Excel
Le bouton ainsi créé sélectionné :
Modifier la sélection
Choisir soit Modifier l'image du bouton soit Texte seul pour ce bouton et
saisir le nom du bouton dans la fenêtre "Nom"
Puis Modifier la sélection (une 2° fois)
Affecter une macro
Choisir la macro et Ok
Fermer



Mais ça c'est pour les anciennes versions d'Excel. Je suis en Excel 2007.

@+
HD
HD
Le #21072031
Un grand MERCI à vous deux qui avez pris la peine de me répondre.

@ FdeCourt : Ta macro fonctionne très bien et correspond à ce que je
cherchais.

@+
HD
Publicité
Poster une réponse
Anonyme