Activé... GoSub, on... GoTo, instructionsOn...GoSub, On...GoTo statements

Permet de créer une branche vers l'une des lignes spécifiées, selon la valeur d'une expression.Branch to one of several specified lines, depending on the value of an expression.

SyntaxeSyntax

Sur expression GoSub destinationlistOn expression GoSub destinationlist
Sur expression Goto destinationlistOn expression GoTo destinationlist


La syntaxe des instructions On...GoSub et On...GoTo présente les éléments suivants :The On...GoSub and On...GoTo statement syntax has these parts:

ÉlémentPart DescriptionDescription
expressionexpression Obligatoire.Required. Toute expression numérique renvoyant un nombre entier compris encore 0 et 255 inclus.Any numeric expression that evaluates to a whole number between 0 and 255, inclusive. Si expression est un nombre qui n'est pas un entier, il est arrondi avant d'être évalué.If expression is any number other than a whole number, it is rounded before it is evaluated.
destinationlistdestinationlist Obligatoire.Required. Liste de numéros de ligne ou d'étiquettes de ligne séparés par des virgules.List of line numbers or line labels separated by commas.

RemarquesRemarks

La valeur de expression détermine la ligne vers laquelle la branche est créée dans destinationlist.The value of expression determines which line is branched to in destinationlist. Si la valeur de expression est inférieure à 1 ou supérieure au nombre d'éléments de la liste, vous obtenez l'un des résultats suivants :If the value of expression is less than 1 or greater than the number of items in the list, one of the following results occurs:

Si expression estIf expression is ThenThen
Égale à 0Equal to 0 Le contrôle passe à l'instruction qui suit On...GoSub ou On...GoTo.Control drops to the statement following On...GoSub or On...GoTo.
Supérieure au nombre d'éléments de la listeGreater than number of items in list Le contrôle passe à l'instruction qui suit On...GoSub ou On...GoTo.Control drops to the statement following On...GoSub or On...GoTo.
NegativeNegative Une erreur se produit.An error occurs.
Supérieure à 255Greater than 255 Une erreur se produit.An error occurs.

Vous pouvez mélanger des numéros et des étiquettes de ligne dans la même liste.You can mix line numbers and line labels in the same list. Vous pouvez utiliser autant d'étiquettes et de numéros de ligne que vous le souhaitez avec On...GoSub et On...GoTo.You can use as many line labels and line numbers as you like with On...GoSub and On...GoTo. Toutefois, si vous utilisez plus d'étiquettes ou de numéros qu'une ligne ne peut en contenir, vous devez utiliser le caractère de continuation de ligne pour continuer la ligne logique sur la ligne physique suivante.However, if you use more labels or numbers than fit on a single line, you must use the line-continuation character to continue the logical line onto the next physical line.

Conseil

Select Case permet de créer de multiples branches de manière plus structurée et plus souple.Select Case provides a more structured and flexible way to perform multiple branching.

ExempleExample

Dans cet exemple, les instructions On...GoSub et On...GoTo permettent la création de branche vers des sous-routines et des étiquettes de ligne, respectivement.This example uses the On...GoSub and On...GoTo statements to branch to subroutines and line labels, respectively.

Sub OnGosubGotoDemo() 
Dim Number, MyString 
 Number = 2 ' Initialize variable. 
 ' Branch to Sub2. 
 On Number GoSub Sub1, Sub2 ' Execution resumes here after 
 ' On...GoSub. 
 On Number GoTo Line1, Line2 ' Branch to Line2. 
 ' Execution does not resume here after On...GoTo. 
 Exit Sub 
Sub1: 
 MyString = "In Sub1" : Return 
Sub2: 
 MyString = "In Sub2" : Return 
Line1: 
 MyString = "In Line1" 
Line2: 
 MyString = "In Line2" 
End Sub

Voir aussiSee also

Assistance et commentairesSupport and feedback

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ?Have questions or feedback about Office VBA or this 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.