Appeler des procédures Sub et Function
Pour appeler une procédure Sub à partir d’une autre procédure, tapez son nom et donnez des valeurs à tous les arguments obligatoires. L’instruction Call n’est pas obligatoire, mais si vous l’utilisez, vous devez placer les éventuels arguments entre parenthèses.
Utilisez une procédure Sub pour organiser d’autres procédures afin qu’elles soient plus faciles à comprendre et à déboguer. Dans l’exemple suivant, la procédure SubMain
appelle la procédure SubMultiBeep
en transmettant la valeur 56 pour argument.
Une fois MultiBeep
en cours d’exécution, le contrôle revient à Main
, et Main
appelle la procédure SubMessage
.
Message
affiche une zone de message. Quand l’utilisateur clique sur OK, le contrôle revient à Main
et Main
se termine.
Sub Main()
MultiBeep 56
Message
End Sub
Sub MultiBeep(numbeeps)
For counter = 1 To numbeeps
Beep
Next counter
End Sub
Sub Message()
MsgBox "Time to take a break!"
End Sub
Remarque
Vous voulez développer des solutions qui étendent l’expérience Office sur plusieurs plateformes ? Découvrez le nouveau modèle de compléments Office. Les compléments Office ont un encombrement réduit par rapport aux compléments et solutions VSTO. Vous pouvez les créer à l’aide de pratiquement n’importe quelle technologie de programmation web, telle que HTML5, JavaScript, CSS3 et XML.
Appeler des procédures Sub avec plusieurs arguments
L’exemple suivant présente deux façons d’appeler une procédure Sub avec plusieurs arguments. Au deuxième appel, des parenthèses doivent obligatoirement entourer les arguments, car l’instruction Call est utilisé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 "You cannot afford this house."
Else
MsgBox "This house is affordable."
End If
End Sub
Utiliser des parenthèses lors de l’appel de procédures de fonction
Pour utiliser la valeur de retour d’une fonction, attribuer la fonction à une variable et placez les arguments entre parenthèses, comme illustré dans l’exemple suivant.
Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3")
Si la valeur renvoyée par une fonction ne vous intéresse pas, vous pouvez appeler une fonction de la même manière que vous appelez une procédure Sub. Omettez les parenthèses, répertoriez les arguments et n’affectez pas la fonction à une variable, comme illustré dans l’exemple suivant.
MsgBox "Task Completed!", 0, "Task Box"
Si vous incluez des parenthèses dans l’exemple précédent, l’instruction entraîne une erreur de syntaxe.
Transmettre des arguments nommés
Une instruction d’une procédure Sub ou Function peut transmettre des valeurs à des procédures nommées au moyen d’arguments nommés. Vous pouvez répertorier arguments nommés dans n’importe quel ordre. Un argument nommé se compose du nom de l’argument suivi de deux-points et un signe égal (: =) et la valeur est affectée à l’argument.
L’exemple suivant appelle la fonction MsgBox en utilisant des arguments nommés sans valeur renvoyée.
MsgBox Title:="Task Box", Prompt:="Task Completed!"
L’exemple suivant appelle la fonction MsgBox en utilisant des arguments nommés. La valeur renvoyée est affectée à la variable.
answer3 = MsgBox(Title:="Question 3", _
Prompt:="Are you happy with your salary?", Buttons:=4)
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.