Sur... GoSub, On... Instructions GoTo
Permet de créer une branche vers l'une des lignes spécifiées, selon la valeur d'une expression.
Syntaxe
OnexpressionGoSubdestinationlist
OnexpressionGoTodestinationlist
La syntaxe des instructions On...GoSub et On...GoTo présente les éléments suivants :
Élément | Description |
---|---|
expression | Obligatoire. Toute expression numérique renvoyant un nombre entier compris encore 0 et 255 inclus. Si expression est un nombre qui n'est pas un entier, il est arrondi avant d'être évalué. |
destinationlist | Obligatoire. Liste de numéros de ligne ou d'étiquettes de ligne séparés par des virgules. |
Remarques
La valeur de expression détermine la ligne vers laquelle la branche est créée dans 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 :
Si expression est | Then |
---|---|
Égale à 0 | Le contrôle passe à l'instruction qui suit On...GoSub ou On...GoTo. |
Supérieure au nombre d'éléments de la liste | Le contrôle passe à l'instruction qui suit On...GoSub ou On...GoTo. |
Negative | Une erreur se produit. |
Supérieure à 255 | Une erreur se produit. |
Vous pouvez mélanger des numéros et des étiquettes de ligne dans la même liste. Utilisez autant d’étiquettes de ligne et de numéros de ligne que vous le souhaitez avec Activé... GoSub et On... Accédez à. 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.
Conseil
Select Case permet de créer de multiples branches de manière plus structurée et plus souple.
Exemple
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.
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 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.