Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
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
Asclause 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
Subprocédure avec trois paramètres. Les deux premiers sont obligatoires et le troisième est facultatif. Les déclarations de paramètre sont séparées dans la liste des paramètres par 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 SubLe premier paramètre accepte un
customerobjet etupdateCustomerpeut mettre à jour directement la variable passéec, car l’argument est passé par ByRef. La procédure ne peut pas modifier les valeurs des deux derniers arguments, car elles sont passées par ByVal.Si le code appelant ne fournit pas de valeur pour le
levelparamètre, Visual Basic le définit sur la valeur par défaut 0.Si le commutateur de vérification de type (Instruction Option Strict) est défini sur
Off, vous pouvez omettre la clauseAslorsque vous définissez un paramètre. Toutefois, si un paramètre utilise uneAsclause, toutes doivent l’utiliser. Si le commutateur de vérification de type estOn, laAsclause est 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 typage fort. Lorsque vous définissez
Option Strict On, Visual Basic applique une saisie forte. Ceci est fortement recommandé pour les raisons suivantes :Il permet l'assistance d’IntelliSense pour vos variables et paramètres. Cela vous permet de voir leurs propriétés et d’autres membres lorsque vous tapez votre code.
Il permet au compilateur d’effectuer la vérification de type. Cela permet d’intercepter les instructions qui peuvent échouer au moment de l’exécution en raison d’erreurs telles que le dépassement de capacité. Cela active la prise en charge d’IntelliSense pour vos variables.
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
Objecttype. Votre code compilé pourrait avoir à effectuer des conversions aller-retour entreObjectet d'autres types de données, ce qui réduit les performances.