Procédures dans Visual Basic
Une procédure est un bloc d’instructions Visual Basic placées entre une instruction de déclaration (Function
, , Sub
, Operator
Get
, Set
) et une déclaration correspondanteEnd
. Toutes les instructions exécutables dans Visual Basic doivent se trouver dans une procédure.
Appel d’une procédure
Vous appelez une procédure à partir d’une autre partie du code. Il s’agit d’un appel de procédure. Une fois la procédure exécutée, elle renvoie le contrôle au code qui l’a appelée, opération qui se nomme appel du code. Le code appelant est une instruction ou une expression au sein d’une instruction, qui désigne la procédure par nom et lui transfère le contrôle.
Retour d’une procédure
Une procédure retourne le contrôle au code appelant lorsqu’elle est terminée. Pour ce faire, il peut utiliser une instruction Return, l’instruction Exit Statement appropriée pour la procédure ou l’instruction End <keyword> Statement de la procédure. Le contrôle passe ensuite au code appelant après le point de l’appel de procédure.
Avec une instruction
Return
, le contrôle retourne immédiatement au code appelant. Les instructions qui suivent l’instructionReturn
ne s’exécutent pas. Vous pouvez utiliser plusieurs instructionsReturn
dans la même procédure.Avec une instruction
Exit Sub
ouExit Function
, le contrôle retourne immédiatement au code appelant. Les instructions qui suivent l’instructionExit
ne s’exécutent pas. Vous pouvez utiliser plusieurs instructionsExit
dans la même procédure et combiner des instructionsReturn
etExit
dans la même procédure.Si une procédure ne comporte pas d’instructions
Return
ouExit
, elle se termine par une instructionEnd Sub
ouEnd Function
,End Get
, ou l’instructionEnd Set
qui suit la dernière instruction du corps de la procédure. L’instructionEnd
retourne immédiatement le contrôle au code appelant. Une procédure ne peut contenir qu’une seule instructionEnd
.
Paramètres et arguments
Dans la plupart des cas, une procédure doit s’exécuter sur des données différentes chaque fois que vous l’appelez. Vous pouvez transmettre ces informations à la procédure dans le cadre de l’appel de procédure. La procédure définit zéro ou plusieurs paramètres, chacun d’eux représentant une valeur qu’elle s’attend à recevoir de votre part. Dans l’appel de procédure, un argument est associé à chaque paramètre dans la définition de la procédure. Un argument représente la valeur que vous passez au paramètre correspondant dans un appel de procédure donné.
Types de procédures
Visual Basic utilise plusieurs types de procédures :
Les procédures Sub exécutent des actions mais ne retournent aucune valeur au code appelant.
Les procédures de gestion d’événements sont des procédures
Sub
qui s’exécutent en réponse à un événement déclenché par une action de l’utilisateur ou une occurrence dans un programme.Les procédures Function retournent une valeur au code appelant. Elles peuvent effectuer d’autres actions avant de retourner une valeur.
Certaines fonctions écrites en langage C# retournent une valeur de retour de référence. Les appelants de fonction peuvent modifier la valeur de retour, et cette modification est répercutée dans l’état de l’objet appelé. À partir de Visual Basic 2017, le code Visual Basic peut consommer des valeurs de retour de référence, même s’il ne peut pas retourner une valeur par référence. Pour plus d’informations, consultez Valeurs de retour de référence.
Les procédures Property renvoient et attribuent des valeurs de propriétés à des objets ou modules.
Les procédures Operator définissent le comportement d’un opérateur standard lorsqu’un ou les deux opérandes représentent une structure ou classe qui vient d’être définie.
Les procédures génériques dans Visual Basic définissent un ou plusieurs paramètres de type en plus de leurs paramètres normaux, et le code appelant peut donc passer des types de données spécifiques chaque fois qu’il effectue un appel.
Procédures et code structuré
Chaque ligne de code exécutable dans votre application doit figurer à l’intérieur d’une procédure, par exemple Main
, calculate
, ou Button1_Click
. Si vous décomposez des procédures complexes en procédures plus simples, votre application devient plus lisible.
Les procédures sont utiles pour effectuer des tâches répétitives ou partagées, notamment des calculs fréquemment utilisés, la manipulation de texte et de contrôle et les opérations dans des bases de données. Vous pouvez appeler une procédure à partir de différentes sections de votre code et ainsi utiliser les procédures comme des blocs de construction pour votre application.
Structurer votre code avec des procédures vous offre les avantages suivants :
Les procédures vous permettent de décomposer vos programmes en unités logiques discrètes. Vous pouvez déboguer des unités distinctes plus facilement qu’en déboguant un programme entier sans procédure.
Après avoir développé des procédures pour les utiliser dans un programme, vous pouvez les utiliser dans d’autres programmes, avec peu ou pas de modifications. Cela vous évite une duplication de code.