Partage via


Property Let, instruction

Déclare le nom, les arguments et le code qui forment le corps d’une procédureProperty, qui affecte une valeur à une propriété.

Syntaxe

[ Public | Privé | Ami ] [ Statique ] Propriété Letname ( [ arglist ], value )
[ statements ]
[ Exit, propriété ]
[ statements ]
End Property

La syntaxe de l’instruction Property Let comprend les éléments suivants :

Élément Description
Public Optional. Indique que la procédure Property Let est accessible à toutes les autres procédures dans tous les modules. Si vous l'utilisez dans un module qui contient une instruction Option Private, la procédure n'est pas disponible en dehors du projet.
Private Optional. Indique que la procédure Property Let est accessible uniquement aux autres procédures du module dans lequel elle est déclarée.
Friend Optional. Utilisé uniquement dans un module de classe. Indique que la procédure Property Let est visible dans le projet, mais ne l’est pas pour le contrôleur d’une instance d’objet.
Static Optional. Indique que les variables locales de la procédure Property Let sont préservées entre les appels. L’attribut Static n’affecte pas les variables déclarées en dehors de la procédure Property Let, même si elles sont utilisées dans la procédure.
name Obligatoire. Nom de la procédure Property Let ; suit les conventions d’affectation de noms de variables standard, sauf que le nom peut être le même qu’une procédure Property Get ou Property Set dans le même module.
arglist Obligatoire. Liste des variables représentant des arguments transférés à la procédure Property Let lorsqu’elle est appelée. Les différents arguments sont séparés par des virgules. Le nom et le type de données de chaque argument d’une procédure Property Let doivent être les mêmes que ceux de l’argument correspondant dans la procédure Property Get.
value Obligatoire. Variable qui contient la valeur à affecter à la propriété. Lorsque la procédure est appelée, cet argument apparaît à droite de l’expression appelante. Le type de données de l’argument value doit être identique au type renvoyé par la procédure Property Get correspondante.
statements Optional. Tout groupe d’instructions à exécuter dans la procédure Property Let.

La syntaxe et les éléments de l'argument arglist sont les suivants :

[ Optional ] [ ByVal | ByRef ] [ ParamArray ] varname [ ( ) ] [ Astype ] [ =defaultvalue ]

Élément Description
Optional Optional. Indique qu’un argument n’est pas nécessaire. Si utilisé, tous les arguments suivants dans arglist doivent également être facultatifs et déclarés à l’aide du mot clé Optional. Notez que le côté droit d’une expression Property Let ne peut pas avoir la valeur Facultatif.
ByVal Optional. Indique que l’argument est transféré par valeur.
ByRef Optional. Indique que l’argument est transféré par référence. ByRef est la valeur par défaut dans VBA, contrairement à Visual Basic .NET.
ParamArray Optional. Indique que l’argument est un tableau facultatif d’éléments Variant . Le mot clé ParamArray vous permet de donner un nombre d’arguments arbitraire. Vous ne pouvez pas l'utiliser avec ByVal, ByRef ou Optional. Cette mot clé ne peut pas être le dernier élément ni le seul élément de la liste arglist.
varname Obligatoire. Nom de la variable représentant l'argument qui respecte les conventions standard d'affectation de noms de variables.
type Optional. Type de données de l'argument passé à la procédure ; peut être Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (non pris en charge), Date, String (longueur variable uniquement), Object, Variant ou type d'objet spécifique. Si le paramètre n’est pas Optional, un type défini par l’utilisateur peut également être spécifié.
defaultvalue Optional. Toute constante ou expression constante. Valide pour les paramètres Optional uniquement. Si le type est un Objet, une valeur par défaut explicite peut uniquement être Nothing.

Remarque

Chaque instruction Property Let doit définir au moins un argument valide pour la procédure qu’elle définit. La valeur « valide » signifie qu’elle ne doit pas être modifiée avec « Facultatif » ni « ParamArray ». Cet argument (ou le dernier argument s’il y en a plusieurs) contient la valeur réelle à affecter à la propriété lorsque la procédure définie par l’instruction Property Let est appelée. Cet argument correspond à value dans la syntaxe précédente.

Remarques

Si elles ne sont pas explicitement spécifiées à l’aide de Public, Private ou Friend, les procédures Property sont publiques par défaut. Si Static n’est pas utilisé, la valeur de variables locales n’est pas conservée entre les appels.

Le mot cléFriend peut être utilisé uniquement dans les modules de classe. Toutefois, les procédures Friend sont accessibles aux procédures de tout module d'un projet. Une procédure Friend n'apparaît pas dans la bibliothèque de types de sa classe parente, et une procédure Friend ne peut pas être à liaison tardive.

Tout code exécutable doit être inclus dans une procédure. Vous ne pouvez pas définir une procédure Property Let à l’intérieur d’une autre procédure Property, Sub ou Function .

L’instruction Exit Property provoque une sortie immédiate d’une procédure Property Let . L’exécution du programme continue avec l’instruction qui suit celle qui a appelé la procédure Property Let. Une procédure Property Let peut comporter plusieurs instructions Exit Property en tout point.

Tout comme les procédures Function et Property Get, Property Let est une procédure séparée qui peut accepter des arguments, exécuter une série d’instructions et modifier la valeur de ses arguments. Toutefois, contrairement aux procédures Function et Property Get , qui retournent toutes deux une valeur, vous pouvez uniquement utiliser une procédure Property Let sur le côté gauche d’une expression d’affectation de propriété ou d’une instruction Let .

Exemple

Cet exemple utilise l’instruction Property Let pour définir une procédure qui attribue une valeur à une propriété. Cette propriété identifie la couleur du pinceau d’un progiciel de dessin.

Dim CurrentColor As Integer 
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 
 
' Set the pen color property for a Drawing package. 
' The module-level variable CurrentColor is set to 
' a numeric value that identifies the color used for drawing. 
Property Let PenColor(ColorName As String) 
 Select Case ColorName ' Check color name string. 
 Case "Red" 
 CurrentColor = RED ' Assign value for Red. 
 Case "Green" 
 CurrentColor = GREEN ' Assign value for Green. 
 Case "Blue" 
 CurrentColor = BLUE ' Assign value for Blue. 
 Case Else 
 CurrentColor = BLACK ' Assign default value. 
 End Select 
End Property 
 
' The following code sets the PenColor property for a drawing package 
' by calling the Property let procedure. 
 
PenColor = "Red" 

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.