Public, instruction

Utilisé au niveau du module pour déclarer des variables publiques et allouer de l’espace de stockage.

Syntaxe

Public [ WithEvents ] varname [ ( [ indices ] ) ] [ As [ New ] type ]
[ , [ WithEvents ] varname [ ( [ indices ] ) ] [ As [ New ] type ]] . . .

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

Élément Description
WithEvents Facultatif. Mot clé indiquant que varname est une variable d’objet utilisée pour répondre à des événements déclenchés par un objet ActiveX. WithEvents est valide uniquement dans les modules de classe. Vous pouvez déclarer autant de variables individuelles que vous le souhaitez à l’aide de WithEvents, mais vous ne pouvez pas créer de tableaux avec WithEvents, ni utiliser New avec WithEvents.
varname Obligatoire. Nom de la variable ; respecte les conventions d’affectation de noms standard.
subscripts Facultatif. Dimensions d'une variable tableau ; vous pouvez déclarer jusqu'à 60 dimensions. L’argument indices utilise la syntaxe suivante :

[ lowerTo ] upper [ , [ lowerTo ] upper ] . . .

Lorsque pas explicitement indiqué dans lower, la limite inférieure d’une matrice est contrôlée par la déclarationOption Base. La limite inférieure correspond à zéro si aucune instructionOption Base n’est présente.
New Facultatif. Mot clé qui autorise la création implicite d’un objet. Si vous utilisez New lors de la déclaration de la variable objet, une nouvelle instance de l’objet est créée lors de la première référence à celle-ci. Vous n’avez donc pas besoin d’utiliser l’instruction Set pour affecter la référence d’objet. Le mot clé New ne peut pas être utilisé pour déclarer des variables d’un type de données intrinsèque. Il ne peut pas non plus être utilisé pour déclarer des instances d’objets dépendants, ni avec WithEvents.
type Facultatif. Type de données de la variable ; Peut être Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (non pris en charge actuellement), Date, String (pour les chaînes de longueur variable), Stringlength (pour les chaînes de longueur fixe), Object, Variant, un type défini par l’utilisateur ou un type d’objet. Utiliser une clause distincteen tant quetype pour chaque variable définie.

Remarques

Les variables déclarées à l’aide de l’instruction Public sont disponibles pour toutes les procédures de tous les modules de toutes les applications, sauf si Option Private Module est en vigueur ; Dans ce cas, les variables sont publiques uniquement dans le projet dans lequel elles résident.

L’instruction Public ne peut pas être utilisée dans un module de classe pour déclarer une variable de longueur fixe.

Utilisez l’instruction Public pour déclarer le type de données d’une variable. Par exemple, l’instruction suivante déclare une variable en tant que variable de type Integer :

Public NumberOfEmployees As Integer 

Utilisez également une instruction Public pour déclarer le type d’objet d’une variable. L’instruction suivante déclare une variable pour une nouvelle instance d’une feuille de calcul :

Public X As New Worksheet 

Si le mot clé New n’est pas utilisé lors de la déclaration d’une variable objet, la variable qui fait référence à l’objet doit se voir attribuer un objet existant à l’aide de l’instruction Set avant de pouvoir l’utiliser. Jusqu’à ce qu’un objet lui soit attribué, la variable objet déclarée a la valeur spéciale Nothing, ce qui indique qu’elle ne fait référence à aucune instance particulière d’un objet.

Vous pouvez également utiliser l’instruction Public avec des parenthèses vides pour déclarer un tableau dynamique. Après avoir déclaré un tableau dynamique, utilisez l’instruction ReDim dans une procédure pour définir le nombre de dimensions et d’éléments dans le tableau. Si vous essayez de redéclarer une dimension pour une variable de tableau dont la taille a été explicitement spécifiée dans une instruction Private, Public ou Dim , une erreur se produit.

Si vous ne spécifiez pas de type de données ou d’objet et qu’il n’y a pas d’instruction Deftype dans le module, la variable est Variant par défaut.

Lorsque les variables sont initialisées, une variable numérique est initialisée à 0, une chaîne de longueur variable est initialisée à une chaîne vide ("") et une chaîne de longueur fixe est remplie de zéros. Les variables de type Variant sont initialisées à la valeur Empty. Chaque élément d’une variable de type défini par l’utilisateur est initialisé comme s’il s’agissait d’une variable distincte.

Exemple

Cet exemple utilise l’instruction Public au niveau module (section Général) d’un module standard pour déclarer de manière explicite des variables comme publiques ; autrement dit, elles sont accessibles à toutes les procédures dans tous les modules dans toutes les applications, à moins que Option Private Module ne soit applicable.

Public Number As Integer ' Public Integer variable. 
Public NameArray(1 To 5) As String ' Public array variable. 
' Multiple declarations, two Variants and one Integer, all Public. 
Public MyVar, YourVar, ThisVar As Integer 

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.