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

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

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

Merci de votre aide

3 réponses

Avatar
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
Avatar
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


Avatar
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