Contenu
Index 🔎︎

# Instruction GoSub...Return

Appelle un sous-programme défini par une étiquette dans un Sub ou une Function. Les instructions sont exécutées jusqu'à l'instructionReturn. Ensuite, le programme continue avec l'instruction suivant l'instruction GoSub.

### Syntaxe :

    GoSub étiquette[:]

### Paramètres :

étiquette: Un identifiant de ligne indiquant où continuer l'exécution. La portée d'une étiquette est celle de la routine à laquelle elle appartient.

L'instruction GoSub appelle un sous-programme local indiqué par une étiquette à partir d'un sous-programme ou d'une fonction. Le nom de l'étiquette doit se terminer par deux points (":").

      Sub/Function foo
          'instructions
          GoSub label
          'instructions
          Exit Sub/Function
      label:
          'instructions
          Return
      End Sub/Function

Si le programme rencontre une instruction Return qui n'est pas précédée de GoSub, LibreOffice Basic renvoie un message d'erreur. Utilisez Exit Sub ou Exit Fonction pour vous assurer que le programme quitte une instruction Sub ou Function avant d'atteindre l'instruction Return suivante.

L'exemple suivant montre l'utilisation des instructions GoSub et Return. En exécutant deux fois la section de programme suivante, le programme calcule la racine carrée de deux nombres saisis par l'utilisateur.

### Exemple :

    Sub ExampleGoSub
    Dim iInputa As Single
    Dim iInputb As Single
    Dim iInputc As Single
        iInputa = Int(InputBox("Saisissez le premier nombre : ","EntréeNombre"))
        iInputb = Int(InputBox("Saisissez le second nombre : ","EntréeNombre"))
        iInputc=iInputa
        GoSub SquareRoot
        Print "La racine carrée de";iInputa;" est";iInputc
        iInputc=iInputb
        GoSub SquareRoot
        Print "La racine carrée de";iInputb;" est";iInputc
        Exit Sub
    SquareRoot:
        iInputc=sqr(iInputc)
        Return
    End Sub

Rubriques connexes

Instruction GoTo

Instruction On...GoSub; Instruction On...GoTo