Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

4 réponses
Avatar
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

4 réponses

Avatar
FdeCourt
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.
Avatar
FFO
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 !!!!!
Avatar
HD
> 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
Avatar
HD
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