Sub tst()
FormatColonne ("W:W","#,##0.00 $")
FormatColonne ("W:W","[$-40C]d-mmm-yy;@")
End Sub
Mon ent=EAte de proc=E9dure :
Sub FormatColonne(ByVal Colonnes As String, ByVal Format As String)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
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
Corto
Bonjour Le Nordiste, En enlevant les parenthéses, ça devrait marcher. Sub tst() FormatColonne "W:W", "#,##0.00 $" FormatColonne "W:W", "[$-40C]d-mmm-yy;@" End Sub
Corto
Le Nordiste a écrit :
Bonjour,
J'ai le message ci-dessous lorsque j'essaie de lancer la Sub tst()
"Erreur de compilation" "Erreur de syntaxe"
====== mon code ci-dessous ======= =
Sub tst() FormatColonne ("W:W","#,##0.00 $") FormatColonne ("W:W","[$-40C]d-mmm-yy;@") End Sub
Mon entête de procédure :
Sub FormatColonne(ByVal Colonnes As String, ByVal Format As String) ======================== ========================= =====
Merci pour vos explications et solutions
Le Nordiste
Bonjour Le Nordiste,
En enlevant les parenthéses, ça devrait marcher.
Sub tst()
FormatColonne "W:W", "#,##0.00 $"
FormatColonne "W:W", "[$-40C]d-mmm-yy;@"
End Sub
Corto
Le Nordiste a écrit :
Bonjour,
J'ai le message ci-dessous lorsque j'essaie de lancer la Sub tst()
"Erreur de compilation"
"Erreur de syntaxe"
====== mon code ci-dessous ======= =
Sub tst()
FormatColonne ("W:W","#,##0.00 $")
FormatColonne ("W:W","[$-40C]d-mmm-yy;@")
End Sub
Mon entête de procédure :
Sub FormatColonne(ByVal Colonnes As String, ByVal Format As String)
======================== ========================= =====
Bonjour Le Nordiste, En enlevant les parenthéses, ça devrait marcher. Sub tst() FormatColonne "W:W", "#,##0.00 $" FormatColonne "W:W", "[$-40C]d-mmm-yy;@" End Sub
Corto
Le Nordiste a écrit :
Bonjour,
J'ai le message ci-dessous lorsque j'essaie de lancer la Sub tst()
"Erreur de compilation" "Erreur de syntaxe"
====== mon code ci-dessous ======= =
Sub tst() FormatColonne ("W:W","#,##0.00 $") FormatColonne ("W:W","[$-40C]d-mmm-yy;@") End Sub
Mon entête de procédure :
Sub FormatColonne(ByVal Colonnes As String, ByVal Format As String) ======================== ========================= =====
Merci pour vos explications et solutions
Le Nordiste
Le Nordiste
Merci, ça marche bien,
Mais il faudra m'expliquer pourquoi pour cet appel de routine pas de parenthéses ?
ERt si j'vais un ou des parametres autres que des chaines , je fais comment ?
Merci, ça marche bien,
Mais il faudra m'expliquer pourquoi pour cet appel de routine pas de
parenthéses ?
ERt si j'vais un ou des parametres autres que des chaines , je fais
comment ?
Mais il faudra m'expliquer pourquoi pour cet appel de routine pas de parenthéses ?
ERt si j'vais un ou des parametres autres que des chaines , je fais comment ?
Corto
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Bonjour Le Nordiste,<br> Version courte :<br> Quand l'appel de fonction est isolé sur la ligne, il ne faut pas mettre les parenthéses, s'il est en partie droite ou gauche d'une affectation (=) ou d'une comparaison (=,>,<,......) il faut les mettre.<br> Version longue :<br> Ainsi parlait l'aide VBA et Corto dans sa grande sagesse mit en rouge la partie la plus importante.<;o)<br> <blockquote type="cite"> <h1>Appel de procédures Sub et Function</h1> <p class="ALNSR"> <object id="hhobj_1" style="left: 10px; width: 45px; top: 39px; height: 13px;" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" height="13" width="45"><param name="Width" value="1191"><param name="Height" value="344"><param name="Command" value="ALink"><param name="Item1" value=""><param name="Item2" value="vaconCallingSubandFunctionProceduresC"><param name="Button" value="Voir aussi"></object> <object id="hhobj_2" style="left: 69px; width: 60px; top: 39px; height: 13px;" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" height="13" width="60"><param name="Width" value="1588"><param name="Height" value="344"><param name="Command" value="ALink"><param name="Item1" value=""><param name="Item2" value="vaconCallingSubandFunctionproceduresS"><param name="Button" value="Particularités"></object></p> <p class="T">Pour appeler une procédure <b>Sub</b> depuis une autre <a href="JavaScript:hhobj_3.Click()">procédure</a>, tapez le nom de la procédure sans oublier les valeurs des <a href="JavaScript:hhobj_4.Click()">arguments</a> obligatoires. L'instruction <b>Call</b> n'est pas obligatoire, mais si vous l'utilisez, vous devez mettre les éventuels arguments entre parenthèses.</p> <p class="T">Vous pouvez utiliser une procédure <b>Sub</b> pour organiser d'autres procédures de manière à simplifier leur interprétation et leur débogage. Dans l'exemple suivant, la procédure <b>Sub</b> <code>Main</code> appelle la procédure <b>Sub</b> <code>MultiBeep</code>, passant la valeur 56 comme argument. Après l'exécution de <code>MultiBeep</code>, le système redonne la main à <code>Main</code> qui appelle la procédure <b>Sub</b> <code>Message</code>. <code>Message</code> affiche un message ; lorsque l'utilisateur clique sur <b>OK</b>, la main revient à <code>Main</code> qui se termine.</p> <pre class="CT"><code>Sub Main() MultiBeep 56 Message End Sub
Sub MultiBeep(numbeeps) For counter = 1 To numbeeps Beep Next counter End Sub
Sub Message() MsgBox "Il est temps de faire une pause!" End Sub </code></pre> <h4>Appel de procédures Sub avec plusieurs arguments</h4> <p class="T">L'exemple suivant illustre deux manières d'appeler une procédure <b>Sub</b> avec plusieurs arguments. Lors du second appel de <code>HouseCalc</code>, les arguments doivent être mis entre parenthèses parce que l'instruction <b>Call</b> est employée.</p> <pre class="CT"><code>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 End Sub </code></pre> <h4><font color="#ff0000">Utilisation de parenthèses lors d'appel de procédures Function</font></h4> <p class="T"><font color="#ff0000">Pour utiliser la valeur renvoyée d'une fonction, affectez la fonction à une <a href="JavaScript:hhobj_5.Click()">variable</a> et mettez les arguments entre parenthèses, comme le montre l'exemple suivant.</font></p> <pre class="CT"><font color="#ff0000"><code>Answer3 = MsgBox("Votre salaire vous convient-il?", 4, "Question 3") </code></font></pre> <p class="T"><font color="#ff0000">Si la valeur renvoyée d'une fonction ne vous intéresse pas, vous pouvez appeler une fonction de la même manière qu'une procédure <b>Sub</b>. Omettez les parenthèses, indiquez les arguments et n'affectez pas la fonction à une variable, comme le montre l'exemple suivant.</font></p> <pre class="CT"><font color="#ff0000"><code>MsgBox "Tâche terminée!", 0, "Boîte de tâche" </code></font></pre> <p class="NT"><font color="#ff0000"><b><font size="+3"><strong>=></strong></font> Attention</b> Si vous incluez des parenthèses dans l'exemple précédent, l'instruction cause une erreur de syntaxe. <strong><font size="+3"><=</font></strong><br> </font></p> <h4>Passage d'arguments nommés</h4> <p class="T">Une instruction dans une procédure <b>Sub</b> ou <b>Function</b> peut passer des valeurs à des procédures appelées en utilisant des <a href="JavaScript:hhobj_6.Click()">arguments nommés</a>. Vous pouvez indiquer les arguments nommés dans n'importe quel ordre. Un argument nommé est composé du nom de l'argument suivi des signes deux-points et égal (<b>:=</b>), puis de la valeur affectée à l'argument.</p> <p class="T">L'exemple suivant appelle la fonction <b>MsgBox</b> en utilisant les arguments nommés sans valeur renvoyée.</p> <pre class="CT"><code>MsgBox Title:="Boîte de tâche", Prompt:="Tâche terminée!" </code></pre> <p class="T">L'exemple suivant appelle la fonction <b>MsgBox</b> en utilisant des arguments nommés. La valeur renvoyée est affectée à la variable <code>answer3</code>.</p> <pre class="CT"><code>answer3 = MsgBox(Title:="Question 3", _ Prompt:="Votre salaire vous convient-il?", Buttons:=4) </code></pre> </blockquote> Corto<br> <br> <br> Le Nordiste a écrit : <blockquote cite="mid:" type="cite"> <pre wrap="">Merci, ça marche bien,
Mais il faudra m'expliquer pourquoi pour cet appel de routine pas de parenthéses ?
ERt si j'vais un ou des parametres autres que des chaines , je fais comment ?
</pre> </blockquote> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Bonjour Le Nordiste,<br>
Version courte :<br>
Quand l'appel de fonction est isolé sur la ligne, il ne faut pas mettre
les parenthéses, s'il est en partie droite ou gauche d'une affectation
(=) ou d'une comparaison (=,>,<,......) il faut les mettre.<br>
Version longue :<br>
Ainsi parlait l'aide VBA et Corto dans sa grande sagesse mit en rouge
la partie la plus importante.<;o)<br>
<blockquote type="cite">
<h1>Appel de procédures Sub et Function</h1>
<p class="ALNSR">
<object id="hhobj_1"
style="left: 10px; width: 45px; top: 39px; height: 13px;"
type="application/x-oleobject"
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" height="13"
width="45"><param name="Width" value="1191"><param name="Height"
value="344"><param name="Command" value="ALink"><param name="Item1"
value=""><param name="Item2"
value="vaconCallingSubandFunctionProceduresC"><param name="Button"
value="Voir aussi"></object>
<object id="hhobj_2"
style="left: 69px; width: 60px; top: 39px; height: 13px;"
type="application/x-oleobject"
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" height="13"
width="60"><param name="Width" value="1588"><param name="Height"
value="344"><param name="Command" value="ALink"><param name="Item1"
value=""><param name="Item2"
value="vaconCallingSubandFunctionproceduresS"><param name="Button"
value="Particularités"></object></p>
<p class="T">Pour appeler une procédure <b>Sub</b> depuis une autre <a
href="JavaScript:hhobj_3.Click()">procédure</a>, tapez le nom de la
procédure sans oublier les valeurs des <a
href="JavaScript:hhobj_4.Click()">arguments</a> obligatoires.
L'instruction <b>Call</b> n'est pas obligatoire, mais si vous
l'utilisez, vous devez mettre les éventuels arguments entre parenthèses.</p>
<p class="T">Vous pouvez utiliser une procédure <b>Sub</b> pour
organiser d'autres procédures de manière à simplifier leur
interprétation et leur débogage. Dans l'exemple suivant, la procédure <b>Sub</b>
<code>Main</code> appelle la procédure <b>Sub</b> <code>MultiBeep</code>,
passant la valeur 56 comme argument. Après l'exécution de <code>MultiBeep</code>,
le système redonne la main à <code>Main</code> qui appelle la
procédure <b>Sub</b> <code>Message</code>. <code>Message</code>
affiche un message ; lorsque l'utilisateur clique sur <b>OK</b>, la
main revient à <code>Main</code> qui se termine.</p>
<pre class="CT"><code>Sub Main()
MultiBeep 56
Message
End Sub
Sub MultiBeep(numbeeps)
For counter = 1 To numbeeps
Beep
Next counter
End Sub
Sub Message()
MsgBox "Il est temps de faire une pause!"
End Sub
</code></pre>
<h4>Appel de procédures Sub avec plusieurs arguments</h4>
<p class="T">L'exemple suivant illustre deux manières d'appeler une
procédure <b>Sub</b> avec plusieurs arguments. Lors du second appel de
<code>HouseCalc</code>, les arguments doivent être mis entre
parenthèses parce que l'instruction <b>Call</b> est employée.</p>
<pre class="CT"><code>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
End Sub
</code></pre>
<h4><font color="#ff0000">Utilisation de parenthèses lors d'appel de
procédures Function</font></h4>
<p class="T"><font color="#ff0000">Pour utiliser la valeur renvoyée
d'une fonction, affectez la fonction à une <a
href="JavaScript:hhobj_5.Click()">variable</a> et mettez les arguments
entre parenthèses, comme le montre l'exemple suivant.</font></p>
<pre class="CT"><font color="#ff0000"><code>Answer3 = MsgBox("Votre salaire vous convient-il?", 4, "Question 3")
</code></font></pre>
<p class="T"><font color="#ff0000">Si la valeur renvoyée d'une
fonction ne vous intéresse pas, vous pouvez appeler une fonction de la
même manière qu'une procédure <b>Sub</b>. Omettez les parenthèses,
indiquez les arguments et n'affectez pas la fonction à une variable,
comme le montre l'exemple suivant.</font></p>
<pre class="CT"><font color="#ff0000"><code>MsgBox "Tâche terminée!", 0, "Boîte de tâche"
</code></font></pre>
<p class="NT"><font color="#ff0000"><b><font size="+3"><strong>=></strong></font>
Attention</b> Si vous incluez des parenthèses dans l'exemple
précédent, l'instruction cause une erreur de syntaxe. <strong><font
size="+3"><=</font></strong><br>
</font></p>
<h4>Passage d'arguments nommés</h4>
<p class="T">Une instruction dans une procédure <b>Sub</b> ou <b>Function</b>
peut passer des valeurs à des procédures appelées en utilisant des <a
href="JavaScript:hhobj_6.Click()">arguments nommés</a>. Vous pouvez
indiquer les arguments nommés dans n'importe quel ordre. Un argument
nommé est composé du nom de l'argument suivi des signes deux-points et
égal (<b>:=</b>), puis de la valeur affectée à l'argument.</p>
<p class="T">L'exemple suivant appelle la fonction <b>MsgBox</b> en
utilisant les arguments nommés sans valeur renvoyée.</p>
<pre class="CT"><code>MsgBox Title:="Boîte de tâche", Prompt:="Tâche terminée!"
</code></pre>
<p class="T">L'exemple suivant appelle la fonction <b>MsgBox</b> en
utilisant des arguments nommés. La valeur renvoyée est affectée à la
variable <code>answer3</code>.</p>
<pre class="CT"><code>answer3 = MsgBox(Title:="Question 3", _
Prompt:="Votre salaire vous convient-il?", Buttons:=4)
</code></pre>
</blockquote>
Corto<br>
<br>
<br>
Le Nordiste a écrit :
<blockquote
cite="mid:b9cd21f6-5699-4dee-92d3-e01522c572c8@k30g2000hse.googlegroups.com"
type="cite">
<pre wrap="">Merci, ça marche bien,
Mais il faudra m'expliquer pourquoi pour cet appel de routine pas de
parenthéses ?
ERt si j'vais un ou des parametres autres que des chaines , je fais
comment ?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Bonjour Le Nordiste,<br> Version courte :<br> Quand l'appel de fonction est isolé sur la ligne, il ne faut pas mettre les parenthéses, s'il est en partie droite ou gauche d'une affectation (=) ou d'une comparaison (=,>,<,......) il faut les mettre.<br> Version longue :<br> Ainsi parlait l'aide VBA et Corto dans sa grande sagesse mit en rouge la partie la plus importante.<;o)<br> <blockquote type="cite"> <h1>Appel de procédures Sub et Function</h1> <p class="ALNSR"> <object id="hhobj_1" style="left: 10px; width: 45px; top: 39px; height: 13px;" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" height="13" width="45"><param name="Width" value="1191"><param name="Height" value="344"><param name="Command" value="ALink"><param name="Item1" value=""><param name="Item2" value="vaconCallingSubandFunctionProceduresC"><param name="Button" value="Voir aussi"></object> <object id="hhobj_2" style="left: 69px; width: 60px; top: 39px; height: 13px;" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" height="13" width="60"><param name="Width" value="1588"><param name="Height" value="344"><param name="Command" value="ALink"><param name="Item1" value=""><param name="Item2" value="vaconCallingSubandFunctionproceduresS"><param name="Button" value="Particularités"></object></p> <p class="T">Pour appeler une procédure <b>Sub</b> depuis une autre <a href="JavaScript:hhobj_3.Click()">procédure</a>, tapez le nom de la procédure sans oublier les valeurs des <a href="JavaScript:hhobj_4.Click()">arguments</a> obligatoires. L'instruction <b>Call</b> n'est pas obligatoire, mais si vous l'utilisez, vous devez mettre les éventuels arguments entre parenthèses.</p> <p class="T">Vous pouvez utiliser une procédure <b>Sub</b> pour organiser d'autres procédures de manière à simplifier leur interprétation et leur débogage. Dans l'exemple suivant, la procédure <b>Sub</b> <code>Main</code> appelle la procédure <b>Sub</b> <code>MultiBeep</code>, passant la valeur 56 comme argument. Après l'exécution de <code>MultiBeep</code>, le système redonne la main à <code>Main</code> qui appelle la procédure <b>Sub</b> <code>Message</code>. <code>Message</code> affiche un message ; lorsque l'utilisateur clique sur <b>OK</b>, la main revient à <code>Main</code> qui se termine.</p> <pre class="CT"><code>Sub Main() MultiBeep 56 Message End Sub
Sub MultiBeep(numbeeps) For counter = 1 To numbeeps Beep Next counter End Sub
Sub Message() MsgBox "Il est temps de faire une pause!" End Sub </code></pre> <h4>Appel de procédures Sub avec plusieurs arguments</h4> <p class="T">L'exemple suivant illustre deux manières d'appeler une procédure <b>Sub</b> avec plusieurs arguments. Lors du second appel de <code>HouseCalc</code>, les arguments doivent être mis entre parenthèses parce que l'instruction <b>Call</b> est employée.</p> <pre class="CT"><code>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 End Sub </code></pre> <h4><font color="#ff0000">Utilisation de parenthèses lors d'appel de procédures Function</font></h4> <p class="T"><font color="#ff0000">Pour utiliser la valeur renvoyée d'une fonction, affectez la fonction à une <a href="JavaScript:hhobj_5.Click()">variable</a> et mettez les arguments entre parenthèses, comme le montre l'exemple suivant.</font></p> <pre class="CT"><font color="#ff0000"><code>Answer3 = MsgBox("Votre salaire vous convient-il?", 4, "Question 3") </code></font></pre> <p class="T"><font color="#ff0000">Si la valeur renvoyée d'une fonction ne vous intéresse pas, vous pouvez appeler une fonction de la même manière qu'une procédure <b>Sub</b>. Omettez les parenthèses, indiquez les arguments et n'affectez pas la fonction à une variable, comme le montre l'exemple suivant.</font></p> <pre class="CT"><font color="#ff0000"><code>MsgBox "Tâche terminée!", 0, "Boîte de tâche" </code></font></pre> <p class="NT"><font color="#ff0000"><b><font size="+3"><strong>=></strong></font> Attention</b> Si vous incluez des parenthèses dans l'exemple précédent, l'instruction cause une erreur de syntaxe. <strong><font size="+3"><=</font></strong><br> </font></p> <h4>Passage d'arguments nommés</h4> <p class="T">Une instruction dans une procédure <b>Sub</b> ou <b>Function</b> peut passer des valeurs à des procédures appelées en utilisant des <a href="JavaScript:hhobj_6.Click()">arguments nommés</a>. Vous pouvez indiquer les arguments nommés dans n'importe quel ordre. Un argument nommé est composé du nom de l'argument suivi des signes deux-points et égal (<b>:=</b>), puis de la valeur affectée à l'argument.</p> <p class="T">L'exemple suivant appelle la fonction <b>MsgBox</b> en utilisant les arguments nommés sans valeur renvoyée.</p> <pre class="CT"><code>MsgBox Title:="Boîte de tâche", Prompt:="Tâche terminée!" </code></pre> <p class="T">L'exemple suivant appelle la fonction <b>MsgBox</b> en utilisant des arguments nommés. La valeur renvoyée est affectée à la variable <code>answer3</code>.</p> <pre class="CT"><code>answer3 = MsgBox(Title:="Question 3", _ Prompt:="Votre salaire vous convient-il?", Buttons:=4) </code></pre> </blockquote> Corto<br> <br> <br> Le Nordiste a écrit : <blockquote cite="mid:" type="cite"> <pre wrap="">Merci, ça marche bien,
Mais il faudra m'expliquer pourquoi pour cet appel de routine pas de parenthéses ?
ERt si j'vais un ou des parametres autres que des chaines , je fais comment ?