Procédures Sub (Visual Basic)Sub procedures (Visual Basic)

Une procédure Sub est une série d’instructions Visual Basic délimitée par les instructions Sub et End Sub.A Sub procedure is a series of Visual Basic statements enclosed by the Sub and End Sub statements. La procédure Sub effectue une tâche, puis retourne le contrôle au code appelant, mais elle ne retourne pas de valeur au code appelant.The Sub procedure performs a task and then returns control to the calling code, but it does not return a value to the calling code.

Chaque fois que la procédure est appelée, ses instructions sont exécutées, en commençant par la première instruction exécutable après l’instruction Sub et en se terminant par la première instruction End Sub, Exit Subou Return rencontrée.Each time the procedure is called, its statements are executed, starting with the first executable statement after the Sub statement and ending with the first End Sub, Exit Sub, or Return statement encountered.

Vous pouvez définir une procédure Sub dans des modules, des classes et des structures.You can define a Sub procedure in modules, classes, and structures. Par défaut, il s’agit de Public, ce qui signifie que vous pouvez l’appeler à partir de n’importe quel endroit de votre application ayant accès au module, à la classe ou à la structure dans laquelle vous l’avez défini.By default, it is Public, which means you can call it from anywhere in your application that has access to the module, class, or structure in which you defined it. La méthode term décrit une Sub ou Function procédure accessible à partir de l’extérieur de son module, de sa classe ou de sa structure de définition.The term method describes a Sub or Function procedure that is accessed from outside its defining module, class, or structure. Pour plus d’informations, consultez Procédures.For more information, see Procedures.

Une procédure Sub peut prendre des arguments, tels que des constantes, des variables ou des expressions, qui lui sont passés par le code appelant.A Sub procedure can take arguments, such as constants, variables, or expressions, which are passed to it by the calling code.

Syntaxe de déclarationDeclaration syntax

La syntaxe de la déclaration d’une procédure Sub se présente comme suit :The syntax for declaring a Sub procedure is as follows:

[modifiers] Sub SubName[(parameterList)]
    ' Statements of the Sub procedure.
End Sub

La modifiers peut spécifier le niveau d’accès et des informations sur la surcharge, le remplacement, le partage et l’occultation.The modifiers can specify access level and information about overloading, overriding, sharing, and shadowing. Pour plus d’informations, consultez Sub, instruction.For more information, see Sub Statement.

Déclaration de paramètreParameter declaration

Vous pouvez déclarer chaque paramètre de procédure de la même façon que vous déclarez une variable, en spécifiant le nom du paramètre et le type de données.You declare each procedure parameter similarly to how you declare a variable, specifying the parameter name and data type. Vous pouvez également spécifier le mécanisme de passage, et si le paramètre est facultatif ou un tableau de paramètres.You can also specify the passing mechanism, and whether the parameter is optional or a parameter array.

La syntaxe de chaque paramètre dans la liste de paramètres est la suivante :The syntax for each parameter in the parameter list is as follows:

[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.If the parameter is optional, you must also supply a default value as part of its declaration. La syntaxe permettant de spécifier une valeur par défaut est la suivante :The syntax for specifying a default value is as follows:

Optional [ByVal | ByRef]  parameterName As DataType = defaultValue

Paramètres en tant que variables localesParameters as local variables

Lorsque le contrôle passe à la procédure, chaque paramètre est traité comme une variable locale.When control passes to the procedure, each parameter is treated as a local variable. Cela signifie que sa durée de vie est la même que celle de la procédure, et que son étendue est l’ensemble de la procédure.This means that its lifetime is the same as that of the procedure, and its scope is the whole procedure.

Syntaxe d’appelCalling syntax

Vous appelez explicitement une procédure Sub à l’aide d’une instruction d’appel autonome.You invoke a Sub procedure explicitly with a stand-alone calling statement. Vous ne pouvez pas l’appeler en utilisant son nom dans une expression.You cannot call it by using its name in an expression. Vous devez fournir des valeurs pour tous les arguments qui ne sont pas facultatifs, et vous devez placer la liste d’arguments entre parenthèses.You must provide values for all arguments that are not optional, and you must enclose the argument list in parentheses. Si aucun argument n’est fourni, vous pouvez éventuellement omettre les parenthèses.If no arguments are supplied, you can optionally omit the parentheses. L’utilisation du mot clé Call est facultative, mais n’est pas recommandée.The use of the Call keyword is optional but not recommended.

La syntaxe d’un appel à une procédure Sub se présente comme suit :The syntax for a call to a Sub procedure is as follows:

[Call] SubName[(argumentlist)]

Vous pouvez appeler une méthode Sub à partir de l’extérieur de la classe qui la définit.You can call a Sub method from outside the class that defines it. Tout d’abord, 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.First, you have to use the New keyword to create an instance of the class, or call a method that returns an instance of the class. Pour plus d’informations, consultez New, opérateur.For more information, see New Operator. Ensuite, vous pouvez utiliser la syntaxe suivante pour appeler la méthode Sub sur l’objet d’instance :Then, you can use the following syntax to call the Sub method on the instance object:

object.MethodName[(argumentList)]

Illustration de la déclaration et de l’appelIllustration of declaration and call

La procédure Sub suivante indique à l’opérateur d’ordinateur quelle tâche l’application est sur le point d’effectuer, et affiche également un horodatage.The following Sub procedure tells the computer operator which task the application is about to perform, and also displays a time stamp. Au lieu de dupliquer ce code au début de chaque tâche, l’application appelle simplement tellOperator à partir de différents emplacements.Instead of duplicating this code at the start of every task, the application just calls tellOperator from various locations. Chaque appel passe une chaîne dans l’argument task qui identifie la tâche en cours de démarrage.Each call passes a string in the task argument that identifies the task being started.

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.The following example shows a typical call to tellOperator.

tellOperator("file update")

Voir aussiSee also