Comment : passer des arguments à une procédure par nom
Mise à jour : novembre 2007
Lorsque vous appelez une procédure Sub ou Function, vous pouvez passer des arguments à celle-ci par nom, sans tenir compte de l'ordre dans lequel les paramètres correspondants apparaissent dans la définition de la procédure.
Le passage des arguments par nom facilite la lecture de votre code appelant parce qu'elle donne un sens aux valeurs d'argument dans l'appel de procédure. Si la procédure a des paramètres facultatifs, le passage par nom permet également de suivre facilement les arguments que vous passez et ceux que vous omettez.
Pour obtenir des règles et des restrictions sur la fourniture des arguments par nom, consultez Passage des arguments par position et par nom.
Pour passer un argument par nom
Examinez le code source de la déclaration de la procédure pour déterminer l'orthographe exacte des noms de paramètres.
Dans le code appelant, préparez l'appel de procédure normalement, avec la liste d'arguments entre parenthèses après le nom de procédure.
Pour chaque argument vous envisagez de passer par nom, fournissez le nom déclaré du paramètre suivi de deux-points et un signe égal (:=), suivis de la valeur que vous passez pour l'argument.
Vous pouvez fournir des arguments nommés dans n'importe quel ordre, mais vous devez fournir tous les arguments de position avant de fournir tout argument nommé.
Exemple
L'exemple suivant affiche une procédure Sub avec trois paramètres et un Call, instruction (Visual Basic) qui passe des arguments à ces paramètres par nom.
Sub studentInfo(ByVal name As String, _
Optional ByVal age As Short = 0, _
Optional ByVal birth As Date = #1/1/2000#)
Debug.WriteLine("Name = " & name & _
"; age = " & CStr(age) & _
"; birth date = " & CStr(birth))
End Sub
Call studentInfo(age:=19, birth:=#9/21/1981#, name:="Mary")
Lorsque vous passez des arguments par nom, vous ne devez pas les fournir dans le même ordre que celui utilisé par la procédure pour les déclarer.
Compilation du code
Assurez-vous que le nom de paramètre dans la liste d'arguments correspond exactement au nom déclaré par la procédure.
Voir aussi
Tâches
Comment : passer des arguments à une procédure
Concepts
Paramètres et arguments d'une procédure
Passage d'arguments par valeur et par référence
Passage des arguments par position et par nom