Partager via


Sub, procédures

Mise à jour : novembre 2007

Une procédure Sub est une série d'instructions Visual Basic délimitées par les instructions Sub et End Sub. La procédure Sub effectue une tâche, puis retourne le contrôle au code appelant, mais ne retourne pas de valeur au code appelant.

Chaque fois que la procédure est appelée, ses instructions sont exécutées à partir de la première instruction exécutable située après l'instruction Sub jusqu'à la première instruction End Sub, Exit Sub ou Return rencontrée.

Vous pouvez définir une procédure Sub dans les modules, les classes et les structures. La valeur par défaut est Public, ce qui signifie que vous pouvez l'appeler de n'importe où dans votre application qui a accès au module, à la classe ou à la structure dans laquelle vous l'avez définie. Le terme méthode décrit une procédure Sub ou Function, accessible en dehors de son module, de sa classe ou de sa structure de définition. Pour plus d'informations, consultez Méthodes de classe.

Une procédure Sub peut accepter des arguments tels que les constantes, les variables ou les expressions qui sont passées à la procédure par le code appelant.

Syntaxe de déclaration

La syntaxe de déclaration d'une procédure Sub est la suivante :

[modifiers] Sub subname[(parameterlist)]

' Statements of the Sub procedure.

End Sub

Les modifiers peuvent spécifier un niveau d'accès et des informations concernant la surcharge, la substitution, le partage et l'occultation. Pour plus d'informations, consultez Sub, instruction (Visual Basic).

Déclaration de paramètre

Déclarez chaque paramètre de procédure de la même manière que lorsque vous déclarez une variable, en spécifiant le nom de paramètre et le type de données. Vous pouvez également spécifier le mécanisme de passage et indiquer si le paramètre est facultatif ou s'il s'agit d'un tableau de paramètres.

La syntaxe de chaque paramètre dans la liste des paramètres est la suivante :

[Optional] [ByVal | ByRef] [ParamArray] parametername As datatype

Si le paramètre est facultatif, vous devez également fournir une valeur par défaut dans le cadre de sa déclaration. La syntaxe de spécification d'une valeur par défaut est la suivante :

Optional [ByVal | ByRef] parametername As datatype = defaultvalue

Paramètres en tant que variables locales

Lorsque contrôle passe à la procédure, chaque paramètre est traité comme une variable locale. Cela signifie que sa durée de vie est la même que celle de la procédure et que sa portée correspond à l'ensemble de la procédure.

Syntaxe d'appel

Vous appelez une procédure Sub de manière explicite à l'aide d'une instruction d'appel autonome. Vous ne pouvez pas l'appeler en utilisant son nom dans une expression. Vous devez fournir les valeurs de tous les arguments qui ne sont pas facultatifs et mettre la liste des arguments entre parenthèses. Si aucun argument n'est spécifié, vous pouvez ne pas mettre les parenthèses. L'utilisation du mot clé Call est facultative, mais non recommandée.

La syntaxe d'appel à une procédure Sub est la suivante :

[Call] subname[(argumentlist)]

Vous pouvez appeler une méthode Sub en dehors de la classe qui la définit. En premier lieu, vous devez utiliser le mot clé New pour créer une instance de la classe ou appeler une méthode qui retourne une instance de la classe. Pour plus d'informations, consultez Comment : utiliser le mot clé New. Puis, vous pouvez utiliser la syntaxe suivante pour appeler la méthode Sub l'objet d'instance :

Object.methodname[(argumentlist)]

Pour plus d'informations, consultez Comment : exécuter des actions avec les méthodes.

Illustration de déclaration et d'appel

La procédure Sub ci-dessous indique à l'opérateur la tâche que l'application est sur le point d'exécuter, et affiche également des informations de date. Au lieu de dupliquer ce code au début de chaque tâche, l'application appelle simplement tellOperator depuis différents emplacements. Chaque appel passe une chaîne dans l'argument task qui identifie la tâche en cours de démarrage.

Sub tellOperator(ByVal task As String)
    Dim stamp As Date
    stamp = TimeOfDay()
    MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub

L'exemple suivant montre un appel typique à tellOperator

Call tellOperator("file update")

Voir aussi

Tâches

Comment : appeler une procédure qui ne retourne pas de valeur

Comment : appeler un gestionnaire d'événements en Visual Basic

Concepts

Procédures dans Visual Basic

Function, procédures

Procédures Property

Procédures d'opérateur

Paramètres et arguments d'une procédure

Référence

Sub, instruction (Visual Basic)