[VBA] Ajouter un bouton personnalité (lié à une macro VBA) dans une barre
4 réponses
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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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)
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
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 !!!!!
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
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
> 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
> 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.
> 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
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
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.