Comment : définir un paramètre pour une procédure (Visual Basic)
Un paramètre permet au code appelant de passer une valeur à la procédure lorsqu’il l’appelle. Vous déclarez chaque paramètre d’une procédure de la même façon que vous déclarez une variable, en spécifiant son nom et son type de données. Vous spécifiez également le mécanisme de passage et indiquez si le paramètre est facultatif.
Pour plus d’informations, consultez Paramètres et arguments de procédure.
Pour définir un paramètre de procédure
Dans la déclaration de procédure, ajoutez le nom du paramètre à la liste des paramètres de la procédure, en le séparant d’autres paramètres par des virgules.
Déterminez le type de données du paramètre.
Suivez le nom du paramètre avec une clause
As
pour spécifier le type de données.Déterminez le mécanisme de passage souhaité pour le paramètre. Normalement, vous passez un paramètre par valeur, sauf si vous souhaitez que la procédure puisse modifier sa valeur dans le code appelant.
Précédez le nom du paramètre par ByVal ou ByRef pour spécifier le mécanisme de passage. Pour plus d’informations, consultez Différences entre le passage d’un argument par valeur et par référence.
Si le paramètre est facultatif, précédez le mécanisme de passage avec Optional et suivez le type de données de paramètre avec un signe égal (
=
) et une valeur par défaut.L’exemple suivant définit le plan d’une
Sub
procédure en trois paramètres. Les deux premiers sont obligatoires et le troisième est facultatif. Dans la liste des paramètres, les déclarations sont séparées par des virgules.Sub updateCustomer(ByRef c As customer, ByVal region As String, Optional ByVal level As Integer = 0) ' Insert code to update a customer object. End Sub
Le premier paramètre accepte un objet
customer
, etupdateCustomer
peut mettre à jour directement la variable passée àc
, car l’argument est passé à ByRef. La procédure ne peut pas modifier les valeurs des deux derniers arguments, car elles sont passées à ByVal.Si le code appelant ne fournit pas de valeur pour le paramètre
level
, Visual Basic le définit sur la valeur par défaut 0.Si le commutateur de vérification de type (Option Déclaration stricte) est
Off
, la clauseAs
sera facultative lorsque vous définirez un paramètre. Toutefois, si un paramètre utilise une clauseAs
, toutes doivent l’utiliser. Si le commutateur de vérification de type estOn
, la clauseAs
sera requise pour chaque définition de paramètre.La spécification de types de données pour tous vos éléments de programmation est connue sous le nom de saisie forte. Lorsque vous définissez
Option Strict On
, Visual Basic applique une saisie forte. Ceci est fortement recommandé pour les raisons suivantes :Cela active la prise en charge de IntelliSense pour vos variables et paramètres. Cela vous permet de voir leurs propriétés et d’autres membres lorsque vous saisissez votre code.
Cela permet au compilateur d’effectuer la vérification de type. Cela permet d’intercepter les instructions risquant d’échouer au moment de l’exécution en raison d’erreurs telles que le dépassement de capacité. Cela intercepte également les appels aux méthodes sur les objets qui ne les prennent pas en charge.
Cela entraîne une exécution plus rapide de votre code. Pour cette raison, si vous ne spécifiez pas de type de données pour un élément de programmation, le compilateur Visual Basic l’affecte au
Object
type. Il se peut que votre code compilé doive faire des allers-retours entreObject
et d’autres types de données, ce qui réduit les performances.