![](https://codky.com/wp-content/uploads/2024/11/2800-1024x576.png)
L’utilisation de `GoSub`…`Return` dans VBA (Visual Basic for Applications) est une technique qui permet de créer des sous-routines simples au sein d’une procédure. Cependant, il est important de noter que `GoSub`…`Return` est considéré comme obsolète et il est généralement recommandé d’utiliser plutôt des sous-procédures ou des fonctions modernes pour structurer le code. Cela dit, voici comment vous pouvez utiliser `GoSub`…`Return` :
Exemple d’utilisation de `GoSub`…`Return`
Sub ExempleGoSub()
Dim nombre As Integer
' Assigner une valeur à la variable
nombre = 5
' Appeler une routine pour doubler le nombre
GoSub Doubler
' Afficher le résultat
MsgBox "Le résultat est: " & nombre
Exit Sub
Doubler:
' Routine qui double la valeur de 'nombre'
nombre = nombre * 2
Return
End Sub
Explication
- Déclaration : La procédure principale, `ExempleGoSub`, déclare une variable `nombre` et lui assigne une valeur.
- Appel `GoSub` : La ligne `GoSub Doubler` envoie l’exécution à l’étiquette `Doubler`.
- Sous-routine : À l’étiquette `Doubler`, la variable `nombre` est modifiée.
- Retour : L’instruction `Return` renvoie l’exécution à la ligne suivante après l’appel `GoSub`.
- Affichage du résultat : Un message s’affiche pour montrer le résultat.
Remarques
Sub ExempleSub()
Dim nombre As Integer
' Assigner une valeur à la variable
nombre = 5
' Appeler la routine pour doubler le nombre
Call Doubler(nombre)
' Afficher le résultat
MsgBox "Le résultat est: " & nombre
End Sub
Sub Doubler(ByRef num As Integer)
' Routine qui double la valeur de 'num'
num = num * 2
End Sub
- Lisibilité : L’utilisation des `GoSub`…`Return` peut rendre le code moins lisible et plus difficile à maintenir, surtout dans les cas de programmes complexes.
- Alternatives modernes : Il est souvent préférable d’utiliser des Sub ou Function distinctes pour des routines réutilisables, ce qui améliore la clarté et la structure globale du code. Voici un exemple d’utilisation d’une Sub à la place de `GoSub` :
En utilisant des Sub ou Function, votre code sera plus structuré et plus facile à comprendre.