Comment utiliser l’instruction GoTo dans le code VBA ?

L’instruction VBA GoTo aide l’exécution du code à accéder à une ligne spécifique dans la procédure. En termes simples, avec l’instruction goto, VBA saute à une ligne particulière que vous avez spécifiée. Par exemple, si vous avez spécifié de sauter à la deuxième ligne, go sautera à cette ligne.

Comment utiliser l’instruction VBA GoTo dans un code

  1. Tout d’abord, vous devez utiliser l’instruction goto.
  2. Après cela, vous devez définir l’endroit où vous souhaitez que VBA passe de goto.
  3. Ensuite, créez la balise pour créer cet endroit dans la procédure.
  4. À la fin, ajoutez la ou les lignes de code que vous souhaitez exécuter.
vba-aller-à-instruction-en-code
Sub vba_goto()
GoTo Last Range("A1").Select Last:
Range("A12").Select
End Sub

GoTo pour répéter un code

Vous pouvez également utiliser l’instruction go to pour répéter un code à l’aide d’un ensemble de conditions.

Sub goto_repeat()
Dim iMessage As String
Question:
    iMessage = InputBox("what's the day today?")
If iMessage <> "tuesday" Then
    MsgBox ("wrong answer, try again.")
    GoTo Question
Else
    MsgBox ("that's the right answer.")
End If
End Sub

Lorsque vous exécutez le code ci-dessus, il vous demande le nom du jour et si vous entrez autre chose que « mardi », il répétera la question. Si vous regardez le code, vous pouvez voir que nous devons utiliser l’instruction goto et l’ instruction if .

Désormais, lorsque l’utilisateur saisit autre chose que la bonne réponse, l’instruction goto oblige VBA à répéter le code. (mais chaque fois que vous utilisez ce type de codes, vous devez être très prudent car cela peut créer une boucle sans fin.

VBA Aller à la fin

Vous pouvez également quitter un sous-marin en utilisant l’instruction goto.

vba-aller à la fin

Dans le code ci-dessus, nous avons utilisé la balise « last » juste avant l’instruction de fin et lorsque VBA atteint l’instruction GoTo, cela fait passer VBA au « Last » à la fin de la procédure.

Instruction GoTo pour aller à une ligne dans une autre sous-routine

Eh bien, aller à l’instruction est assez pratique pour faire sauter VBA d’un endroit à un autre, mais il n’est pas possible de le faire passer à une autre procédure dans le module .

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *