Comment utiliser l’instruction GoSub…Return dans VBA ?

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.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project