pb ecriture appel de fonction avec argument dans bouton barre contrôle

Le
plexus
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
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
Boisgontier
Le #4512381
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"
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
Le #4512201
Bonjour,

.OnAction = "'Masub ""zaza""'"

JB

On 14 mai, 20:34, plexus
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
Le #4512071
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
Publicité
Poster une réponse
Anonyme