Paser des arguments à macro avec ou sans()

Luki

XLDnaute Accro
Bonjour le forum,

Une question dont je n'ai pas bien fait le tour:
Quand j'appelle une sous_macro à qui je passe des arguments, dans certains cas, je doit les passer entre parenthèses et dans d'autres cas, non.

Exemple1:
Code:
Sub ProcCall_A()
Proc_A ("Bonjour") ' [B]je passe l'argument entre ()[/B]
End Sub

Sub Proc_A(LeTexte As String)
MsgBox LeTexte
End Sub
Exemple2:
Code:
Sub ProcCall_B()
Proc_B ActiveCell ' [B]je passe l'argument sans ()[/B]
End Sub

Sub Proc_B(LaPlage As Range)
MsgBox LaPlage.Address
End Sub
Il semble que les arguments objets doivent être passé sans parenthèses, mais y a t'il d'autre cas? et comment gérer les arguments multiples de types différents (tiens je n'ai pas encore essayé).

Si vous avez un peu de théorie, ça m'intérresse.

Merci et à bientôt.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Paser des arguments à macro avec ou sans()

Bonjour

voici ce que dit l'aide

Appel de procédures Sub avec plusieurs arguments

L'exemple suivant illustre deux manières d'appeler une procédure Sub avec plusieurs arguments. Lors du second appel de HouseCalc, les arguments doivent être mis entre parenthèses parce que l'instruction Call est employée.
Sub Main()
HouseCalc 99800, 43100
Call HouseCalc(380950, 49500)
End Sub

Sub HouseCalc(price As Single, wage As Single)
If 2.5 * wage <= 0.8 * price Then
MsgBox "Cette maison est trop chère."
Else
MsgBox "Cette maison est abordable."
End If

D'ailleurs dans ton premier exemple tu peux enlever les parenthèses cela marche aussi

End Sub
 

Luki

XLDnaute Accro
Re : Passer des arguments à macro avec ou sans()

Arrrrgh,

Je viens de voir que je peux passer les arguments sans () aussi pour le texte!

Donc pas de soucis pour les arguments multiples!

Mais je suis toujours preneur d'un peu de théorie!

A+
 
Dernière édition:

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Paser des arguments à macro avec ou sans()

Re

En fait si je ne m'avance pas si tu appelles ta procédure sans call tu fais ce que tu veux tu mets ou pas des parenthèses

si tu appelles avec Call il faut obligatoirelent les parenthèses

Bon WE
 

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 779
Membres
103 663
dernier inscrit
b4ri5.c