[VBA] Passer un paramêtre dans la fonction

Passer un paramêtre dans la fonction [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 04-04-2006 à 14:45:18    

Bonjour,
je code un peu de VBA pour créer automatiquement un menu dans ma barre supérieure de Word !
Le code ressemble un peu près à ça :
 
Dim str as string
...
With .Controls.Add(msoControlButton)
    .Caption = str
    .OnAction = "launch_procedure"
End With
...
...
Sub launch_procedure()
...
End Sub
 
Le With se trouve dans une boucle (afin de créer plusieurs boutons à la volée tout en gardant un paramêtre différent), dans laquelle "str" change de valeur...
Je voudrais donc passer la valeur de "str" à la fonction "launch_procedure" dans le ".OnAction" !!! Et par la même occasion changer l'entête de ma fonction "launch_procdure" pour accueillir une "string".
Mais je n'arrive pas à trouver la syntaxe correcte...
 
 
Est-ce possible de faire cela ???

Reply

Marsh Posté le 04-04-2006 à 14:45:18   

Reply

Marsh Posté le 04-04-2006 à 15:02:49    

Sub launch_procedure(parametre As String)

Sachant que le nom « parametre » est un exemple. Tu peux le changer
 

.OnAction = "launch_procedure """ & str & """"

ou

.OnAction = "launch_procedure " & chr$(34) & str & chr$(34)


Si ton bouton a accès à la valeur de ta variable str, le mieux est  

.OnAction = "launch_procedure str"


Je ne sais plus si .onaction demande les parenthèses pour appeler une procédure. Il faudra les rajouter éventuellement


Message édité par tegu le 04-04-2006 à 15:03:01
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed