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
- Tout d’abord, vous devez utiliser l’instruction goto.
- Après cela, vous devez définir l’endroit où vous souhaitez que VBA passe de goto.
- Ensuite, créez la balise pour créer cet endroit dans la procédure.
- À la fin, ajoutez la ou les lignes de code que vous souhaitez exécuter.
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.
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 .