OVH Cloud OVH Cloud

Ajouter une commande dans le menu outils

4 réponses
Avatar
sfc.sniper
Salut à tous

Voila, j'essai de faire une macro auto_open afin d'inserer une commande dans
le menu outils lors du chargement de la macro
Bien j'ai mis ca dans auto_open :

Set xItem = CommandBars("Outils").Controls.Add(Type:=msoControlButton)
With xItem
.Caption = "Run Test"
.OnAction = "Test"
End With

Mais ca me retourne un "argument ou appel de procedure incorrecte" dés la
premiere ligne ..

une id ?

4 réponses

Avatar
michdenis
Bonsoir sfc.sniper,

'------------------------
Sub AjoutCommande()

Dim C As CommandBarControl
With Application.CommandBars("Worksheet Menu Bar").Controls("&Outils").Controls
Set C = .Add(msoControlButton)
With C
'Le texte du bouton
.Caption = "NewButton"
'définit la macro à exécuter
.OnAction = "MaMacro"
'insère une ligne entre les commandes
.BeginGroup = True
'Permet image et texte sur le bouton
.Style = msoButtonIconAndCaption
'Image accompagnant le texte
.FaceId = 425
End With
End With
Set C = Nothing
End Sub

'------------------------
Sub MaMacro()
MsgBox "Bonjour"
End Sub
'------------------------


Salutations!


"sfc.sniper" a écrit dans le message de news:e84$
Salut à tous

Voila, j'essai de faire une macro auto_open afin d'inserer une commande dans
le menu outils lors du chargement de la macro
Bien j'ai mis ca dans auto_open :

Set xItem = CommandBars("Outils").Controls.Add(Type:=msoControlButton)
With xItem
.Caption = "Run Test"
.OnAction = "Test"
End With

Mais ca me retourne un "argument ou appel de procedure incorrecte" dés la
premiere ligne ..

une id ?
Avatar
sfc.sniper
Merci michdenis

Mais y a qq meme un souci :
Dim C As CommandBarControl : erreur => Type defini par l'utilisateur non
defini

Apparement connais pas le type CommandBarControl
Je suis sous excel 9 (ms office 2000)

Merci par avance

sfc.sniper

"michdenis" a écrit dans le message de
news:ON$
Bonsoir sfc.sniper,

'------------------------
Sub AjoutCommande()

Dim C As CommandBarControl
With Application.CommandBars("Worksheet Menu
Bar").Controls("&Outils").Controls

Set C = .Add(msoControlButton)
With C
'Le texte du bouton
.Caption = "NewButton"
'définit la macro à exécuter
.OnAction = "MaMacro"
'insère une ligne entre les commandes
.BeginGroup = True
'Permet image et texte sur le bouton
.Style = msoButtonIconAndCaption
'Image accompagnant le texte
.FaceId = 425
End With
End With
Set C = Nothing
End Sub

'------------------------
Sub MaMacro()
MsgBox "Bonjour"
End Sub
'------------------------


Salutations!


"sfc.sniper" a écrit dans le message de
news:e84$

Salut à tous

Voila, j'essai de faire une macro auto_open afin d'inserer une commande
dans

le menu outils lors du chargement de la macro
Bien j'ai mis ca dans auto_open :

Set xItem = CommandBars("Outils").Controls.Add(Type:=msoControlButton)
With xItem
.Caption = "Run Test"
.OnAction = "Test"
End With

Mais ca me retourne un "argument ou appel de procedure incorrecte" dés la
premiere ligne ..

une id ?





Avatar
michdenis
Bonjour sfc.sniper,

Si problème avec le type de la variable C,

Tu peux utiliser ceci :

Dim C As CommandBarButton

ou

Dim C As Variant


Salutations!

Cette procédure a été élaboré sous excel 2003



"sfc.sniper" a écrit dans le message de news:%
Merci michdenis

Mais y a qq meme un souci :
Dim C As CommandBarControl : erreur => Type defini par l'utilisateur non
defini

Apparement connais pas le type CommandBarControl
Je suis sous excel 9 (ms office 2000)

Merci par avance

sfc.sniper

"michdenis" a écrit dans le message de
news:ON$
Bonsoir sfc.sniper,

'------------------------
Sub AjoutCommande()

Dim C As CommandBarControl
With Application.CommandBars("Worksheet Menu
Bar").Controls("&Outils").Controls

Set C = .Add(msoControlButton)
With C
'Le texte du bouton
.Caption = "NewButton"
'définit la macro à exécuter
.OnAction = "MaMacro"
'insère une ligne entre les commandes
.BeginGroup = True
'Permet image et texte sur le bouton
.Style = msoButtonIconAndCaption
'Image accompagnant le texte
.FaceId = 425
End With
End With
Set C = Nothing
End Sub

'------------------------
Sub MaMacro()
MsgBox "Bonjour"
End Sub
'------------------------


Salutations!


"sfc.sniper" a écrit dans le message de
news:e84$

Salut à tous

Voila, j'essai de faire une macro auto_open afin d'inserer une commande
dans

le menu outils lors du chargement de la macro
Bien j'ai mis ca dans auto_open :

Set xItem = CommandBars("Outils").Controls.Add(Type:=msoControlButton)
With xItem
.Caption = "Run Test"
.OnAction = "Test"
End With

Mais ca me retourne un "argument ou appel de procedure incorrecte" dés la
premiere ligne ..

une id ?





Avatar
sfc.sniper
Ok c bon, manquait une réference :o)
(Microsoft office 10.0 objet library)
ca roulezz !
Merci à tous

sfc.sniper

"sfc.sniper" a écrit dans le message de
news:%
Merci michdenis

Mais y a qq meme un souci :
Dim C As CommandBarControl : erreur => Type defini par l'utilisateur non
defini

Apparement connais pas le type CommandBarControl
Je suis sous excel 9 (ms office 2000)

Merci par avance

sfc.sniper

"michdenis" a écrit dans le message de
news:ON$
Bonsoir sfc.sniper,

'------------------------
Sub AjoutCommande()

Dim C As CommandBarControl
With Application.CommandBars("Worksheet Menu
Bar").Controls("&Outils").Controls

Set C = .Add(msoControlButton)
With C
'Le texte du bouton
.Caption = "NewButton"
'définit la macro à exécuter
.OnAction = "MaMacro"
'insère une ligne entre les commandes
.BeginGroup = True
'Permet image et texte sur le bouton
.Style = msoButtonIconAndCaption
'Image accompagnant le texte
.FaceId = 425
End With
End With
Set C = Nothing
End Sub

'------------------------
Sub MaMacro()
MsgBox "Bonjour"
End Sub
'------------------------


Salutations!


"sfc.sniper" a écrit dans le message de
news:e84$

Salut à tous

Voila, j'essai de faire une macro auto_open afin d'inserer une commande
dans

le menu outils lors du chargement de la macro
Bien j'ai mis ca dans auto_open :

Set xItem = CommandBars("Outils").Controls.Add(Type:=msoControlButton)
With xItem
.Caption = "Run Test"
.OnAction = "Test"
End With

Mais ca me retourne un "argument ou appel de procedure incorrecte" dés
la


premiere ligne ..

une id ?