Partage via


Instructions Deftype

Utilisé au niveau du module pour définir le type de données par défaut pour les variables, les arguments passés aux procédures et le type de retour pour les procédures Function et Property Get dont les noms commencent par les caractères spécifiés.

Syntaxe

DefBoolletterrange, [ letterrange ] . . . .DefByteletterrange, [ letterrange ] . . . .DefIntletterrange, [ letterrange ] . . .DefLngletterrange, [ letterrange ] . . .DefLngLng letterrange, [ letterrange ] . . . (valide uniquement sur les plateformes 64 bits) DefLngPtrletterrange, [ letterrange ] . . . .DefCurletterrange, [ letterrange ] . . .DefSngletterrange, [ letterrange ] . . . .DefDblletterrange, [ letterrange ] . . . .DefDecletterrange, [ letterrange ] . . . .DefDateletterrange, [ letterrange ] . . . .DefStrletterrange, [ letterrange ] . . . .DefObjletterrange, [ letterrange ] . . .DefVarletterrange, [ letterrange ] . . . .

L’argument letterrange requis a la syntaxe suivante : letter1 [ -letter2 ]

Les arguments lettre1 et lettre2 précise la plage de non pour lesquelles vous pouvez définir un type de données par défaut. Chaque argument représente la première lettre de la variable, de l’argument, de la procédure Function ou du nom de la procédure Property Get , et peut être n’importe quelle lettre de l’alphabet. plagelettres ne fait pas la différence entre les majuscules et les minuscules.

Remarques

Le nom de l’instruction détermine le type de données.

Statement Type de données
DefBool Boolean
DefByte Byte
DefInt Integer
DefLng Long
DefLngLng LongLong (valide sur les plateformes 64 bits uniquement)
DefLngPtr LongPtr
DefCur Devise
DefSng Single
DefDbl Double
DefDec Decimal (non pris en charge actuellement)
DefDate Date
DefStr String
DefObj Object
DefVar Variant

Par exemple, dans le fragment de programme suivant, Message est une variable de chaîne.

DefStr A-Q
. . .
Message = "Out of stack space."

Une instruction Deftype concerne uniquement le module où il est utilisé. Par exemple, une instruction DefInt dans un module concerne uniquement les types de données par défaut des variables et arguments transmis aux procédures, ainsi que les types de renvoi pour les procédures Function et Property Get déclarées dans ce module ; les types de données par défaut des variables, arguments et types de renvoi dans les autres modules ne sont pas touchés. S’il n’est pas explicitement déclaré par une instruction Deftype, le type de données par défaut de la totalité des variables, arguments et procédures Function ou Property Get est Variant.

Lorsque vous spécifiez une plage de lettres, elle définit généralement le type de données pour les variables qui commencent par des lettres dans les 128 premiers caractères du jeu de caractères. Toutefois, lorsque vous spécifiez la plage de lettres A à Z, vous définissez par défaut le type de données spécifié pour toutes les variables, y compris les variables qui commencent par des caractères internationaux de la partie étendue du jeu de caractères (128-255).

Une fois que la plage A-Z a été spécifiée, vous ne pouvez plus redéfinir les sous-plages de variables à l’aide d’instructions de typeDef. Une fois qu’une plage a été spécifiée, si vous incluez une lettre précédemment définie dans une autre instruction de typeDef, une erreur se produit. Toutefois, vous pouvez spécifier explicitement le type de données d’une variable, définie ou non, à l’aide d’une instruction Dim avec une clause de typeAs.

Par exemple, vous pouvez utiliser le code suivant au niveau du module pour définir une variable en tant que Double , même si le type de données par défaut est Integer.

DefInt A-Z
Dim TaxRate As Double

Les instructions Deftype n’ont pas d’incidence sur les éléments des types définis par l’utilisateur, car les éléments doivent être explicitement déclarés.

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.