pb ecriture appel de fonction avec argument dans bouton barre contrôle
3 réponses
plexus
Bonjour,
J'ai une barre de menue personalis=E9e et je souhaite lancer une macro
qui a besoin d'un argument par un bouton, mais n'y arrive pas. Soit
j'ai un message d'erreur me disant que 'masub(zaza)' n'est pas une
macro valide, soit j'ai un message m'indiquant que les arguments ne
sont pas facultatif...
Quel est la bonne syntaxe pour appeller masub avec l'argument zaza
depuis mon bouton de menu ?
sub masub(toto as string)
blabla
end sub
MenuRapport.Caption =3D "Menu2"
Set btn =3D .Controls.Add(msoControlButton)
With btn
.Caption =3D "lance macro"
.FaceId =3D 3826
.OnAction =3D "masub(zaza)"
.Enabled =3D True
End With
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
Boisgontier
Bonsoir,
Exemple de passage de paramètre:
http://cjoint.com/?fou4pBQI0m
Sub auto_open() CommandBars.Add ("BarreColoriage") CommandBars("BarreColoriage").Visible = True For i = 1 To [couleurs].Count Set bouton = CommandBars("BarreColoriage").Controls.Add(Type:=msoControlButton) bouton.Style = msoButtonCaption bouton.Tag = i bouton.OnAction = "'Coloriage """ & bouton.Tag & """'" bouton.Caption = Range("couleurs")(i) Next i End Sub
Sub Coloriage(p) For Each c In Selection c.Value = Range("couleurs")(p) Range("couleurs")(p).Copy c Next c End Sub
JB
"plexus" a écrit dans le message de news:
Bonjour, J'ai une barre de menue personalisée et je souhaite lancer une macro qui a besoin d'un argument par un bouton, mais n'y arrive pas. Soit j'ai un message d'erreur me disant que 'masub(zaza)' n'est pas une macro valide, soit j'ai un message m'indiquant que les arguments ne sont pas facultatif... Quel est la bonne syntaxe pour appeller masub avec l'argument zaza depuis mon bouton de menu ?
sub masub(toto as string) blabla end sub
MenuRapport.Caption = "Menu2" Set btn = .Controls.Add(msoControlButton) With btn .Caption = "lance macro" .FaceId = 3826 .OnAction = "masub(zaza)" .Enabled = True End With
Merci de votre aide
Bonsoir,
Exemple de passage de paramètre:
http://cjoint.com/?fou4pBQI0m
Sub auto_open()
CommandBars.Add ("BarreColoriage")
CommandBars("BarreColoriage").Visible = True
For i = 1 To [couleurs].Count
Set bouton =
CommandBars("BarreColoriage").Controls.Add(Type:=msoControlButton)
bouton.Style = msoButtonCaption
bouton.Tag = i
bouton.OnAction = "'Coloriage """ & bouton.Tag & """'"
bouton.Caption = Range("couleurs")(i)
Next i
End Sub
Sub Coloriage(p)
For Each c In Selection
c.Value = Range("couleurs")(p)
Range("couleurs")(p).Copy c
Next c
End Sub
JB
"plexus" <lucienplexus@mageos.com> a écrit dans le message de news:
1179167681.253079.161080@h2g2000hsg.googlegroups.com...
Bonjour,
J'ai une barre de menue personalisée et je souhaite lancer une macro
qui a besoin d'un argument par un bouton, mais n'y arrive pas. Soit
j'ai un message d'erreur me disant que 'masub(zaza)' n'est pas une
macro valide, soit j'ai un message m'indiquant que les arguments ne
sont pas facultatif...
Quel est la bonne syntaxe pour appeller masub avec l'argument zaza
depuis mon bouton de menu ?
sub masub(toto as string)
blabla
end sub
MenuRapport.Caption = "Menu2"
Set btn = .Controls.Add(msoControlButton)
With btn
.Caption = "lance macro"
.FaceId = 3826
.OnAction = "masub(zaza)"
.Enabled = True
End With
Sub auto_open() CommandBars.Add ("BarreColoriage") CommandBars("BarreColoriage").Visible = True For i = 1 To [couleurs].Count Set bouton = CommandBars("BarreColoriage").Controls.Add(Type:=msoControlButton) bouton.Style = msoButtonCaption bouton.Tag = i bouton.OnAction = "'Coloriage """ & bouton.Tag & """'" bouton.Caption = Range("couleurs")(i) Next i End Sub
Sub Coloriage(p) For Each c In Selection c.Value = Range("couleurs")(p) Range("couleurs")(p).Copy c Next c End Sub
JB
"plexus" a écrit dans le message de news:
Bonjour, J'ai une barre de menue personalisée et je souhaite lancer une macro qui a besoin d'un argument par un bouton, mais n'y arrive pas. Soit j'ai un message d'erreur me disant que 'masub(zaza)' n'est pas une macro valide, soit j'ai un message m'indiquant que les arguments ne sont pas facultatif... Quel est la bonne syntaxe pour appeller masub avec l'argument zaza depuis mon bouton de menu ?
sub masub(toto as string) blabla end sub
MenuRapport.Caption = "Menu2" Set btn = .Controls.Add(msoControlButton) With btn .Caption = "lance macro" .FaceId = 3826 .OnAction = "masub(zaza)" .Enabled = True End With
Merci de votre aide
JB
Bonjour,
.OnAction = "'Masub ""zaza""'"
JB
On 14 mai, 20:34, plexus wrote:
Bonjour, J'ai une barre de menue personalisée et je souhaite lancer une macro qui a besoin d'un argument par un bouton, mais n'y arrive pas. Soit j'ai un message d'erreur me disant que 'masub(zaza)' n'est pas une macro valide, soit j'ai un message m'indiquant que les arguments ne sont pas facultatif... Quel est la bonne syntaxe pour appeller masub avec l'argument zaza depuis mon bouton de menu ?
sub masub(toto as string) blabla end sub
MenuRapport.Caption = "Menu2" Set btn = .Controls.Add(msoControlButton) With btn .Caption = "lance macro" .FaceId = 3826 .OnAction = "masub(zaza)" .Enabled = True End With
Merci de votre aide
Bonjour,
.OnAction = "'Masub ""zaza""'"
JB
On 14 mai, 20:34, plexus <lucienple...@mageos.com> wrote:
Bonjour,
J'ai une barre de menue personalisée et je souhaite lancer une macro
qui a besoin d'un argument par un bouton, mais n'y arrive pas. Soit
j'ai un message d'erreur me disant que 'masub(zaza)' n'est pas une
macro valide, soit j'ai un message m'indiquant que les arguments ne
sont pas facultatif...
Quel est la bonne syntaxe pour appeller masub avec l'argument zaza
depuis mon bouton de menu ?
sub masub(toto as string)
blabla
end sub
MenuRapport.Caption = "Menu2"
Set btn = .Controls.Add(msoControlButton)
With btn
.Caption = "lance macro"
.FaceId = 3826
.OnAction = "masub(zaza)"
.Enabled = True
End With
Bonjour, J'ai une barre de menue personalisée et je souhaite lancer une macro qui a besoin d'un argument par un bouton, mais n'y arrive pas. Soit j'ai un message d'erreur me disant que 'masub(zaza)' n'est pas une macro valide, soit j'ai un message m'indiquant que les arguments ne sont pas facultatif... Quel est la bonne syntaxe pour appeller masub avec l'argument zaza depuis mon bouton de menu ?
sub masub(toto as string) blabla end sub
MenuRapport.Caption = "Menu2" Set btn = .Controls.Add(msoControlButton) With btn .Caption = "lance macro" .FaceId = 3826 .OnAction = "masub(zaza)" .Enabled = True End With
Merci de votre aide
plexus
Bonjour JB et merci de tes réponses, j'ai testé les deux, et elles fonctionnent toutes . Haaa c'est fichus guillemets... m'enfin là ça devient un rien tordu tout de même : .OnAction = "'masub""" & "(zaza)" & """ '" .OnAction = "'masub""(zaza)"" '" .OnAction = "'masub""zaza"" '" les 3 fonctionnent ! mais les 2 dernières sont tout de même un rien moins lourdes Merci du coup de main, en fin de journée, je buttais dur ! merci
Bonjour JB et merci de tes réponses,
j'ai testé les deux, et elles fonctionnent toutes .
Haaa c'est fichus guillemets... m'enfin là ça devient un rien tordu
tout de même :
.OnAction = "'masub""" & "(zaza)" & """ '"
.OnAction = "'masub""(zaza)"" '"
.OnAction = "'masub""zaza"" '"
les 3 fonctionnent !
mais les 2 dernières sont tout de même un rien moins lourdes
Merci du coup de main, en fin de journée, je buttais dur !
merci
Bonjour JB et merci de tes réponses, j'ai testé les deux, et elles fonctionnent toutes . Haaa c'est fichus guillemets... m'enfin là ça devient un rien tordu tout de même : .OnAction = "'masub""" & "(zaza)" & """ '" .OnAction = "'masub""(zaza)"" '" .OnAction = "'masub""zaza"" '" les 3 fonctionnent ! mais les 2 dernières sont tout de même un rien moins lourdes Merci du coup de main, en fin de journée, je buttais dur ! merci