![](https://codky.com/wp-content/uploads/2024/11/2799-1024x576.png)
L’instruction `GoTo` en VBA (Visual Basic for Applications) permet de transférer immédiatement l’exécution du code vers une autre partie du programme spécifiée par une étiquette (label). Cette instruction peut être utile pour sauter certaines parties du code ou pour gérer des erreurs.
Voici comment utiliser l’instruction `GoTo` :
- Déclarez une étiquette : Une étiquette est simplement un nom suivi d’un deux-points (`:`). Elle indique la destination vers laquelle `GoTo` peut sauter.
- Utilisez l’instruction `GoTo` : Écrivez `GoTo` suivi du nom de l’étiquette pour transférer le contrôle du programme à cet endroit.
Voici un exemple simple :
Sub UtiliserGoTo()
Dim nombre As Integer
nombre = 5
If nombre > 0 Then
GoTo Positif
Else
GoTo Negatif
End If
Positif:
MsgBox "Le nombre est positif."
Exit Sub
Negatif:
MsgBox "Le nombre est négatif."
End Sub
Notes importantes :
- Lisibilité du Code : Bien qu’utile, l’utilisation excessive de `GoTo` peut rendre le code difficile à suivre et à maintenir. Il est souvent préférable d’utiliser des structures de contrôle comme `If…Else`, `For…Next`, `Do…Loop`, etc.
- Gestion des erreurs : `GoTo` est parfois utilisé dans la gestion des erreurs en VBA avec l’instruction `On Error GoTo`. Cela permet de rediriger le flux d’exécution vers un gestionnaire d’erreurs en cas d’erreur d’exécution.
Exemple de gestion des erreurs :
Sub ExempleGestionErreur()
On Error GoTo GestionErreur
Dim num As Integer
Dim resultat As Double
' Provoque une erreur si num est égal à 0
num = 0
resultat = 10 / num
Exit Sub
GestionErreur:
MsgBox "Une erreur s'est produite : " & Err.Description
End Sub
Dans cet exemple, si une erreur se produit dans la division, le programme exécute le code sous l’étiquette `GestionErreur`.