Synthèse des types de données

Un type de données est la caractéristique d’une variable qui détermine la sorte de données qu’elle peut contenir. Les types de données incluent ceux du tableau suivant, ainsi que des types définis par l’utilisateur et des types d’objet spécifiques.

Définir des types de données intrinsèques

Le tableau suivant montre la prise en charge types de données, y compris les tailles de stockage et des plages.

Type de données Taille Plage
Boolean 2 octets True ou False
Byte 1 octet 0 à 255.
Collection Inconnu Inconnu
Currency (entier mis à l’échelle) 8 octets -922 337 203 685 477,5808 à 922 337 203 685 477,5807
Date 8 octets -657 434 (1er janvier 100), à 2 958 465 (31 décembre 9999)
Decimal 14 octets +/-79 228 162 514 264 337 593 543 950 335 sans décimale

+/-7,9228162514264337593543950335 avec 28 positions à droite de la décimale

Le plus petit nombre différent de zéro est +/-0,0000000000000000000000000001
Dictionary Inconnu Inconnu
Double (virgule flottante à double précision) 8 octets De -1,79769313486231E308 à -4,94065645841247E-324 pour les valeurs négatives

De 4,94065645841247E-324 à 1,79769313486232E308 pour les valeurs positives
Integer 2 octets À :
Long (entier long) 4 octets À :
LongLong (entier LongLong) 8 octets De -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807

Valide uniquement sur les plateformes 64 bits.
LongPtr (Entier long sur les systèmes 32 bits, entier LongLong sur les systèmes 64 bits) 4 octets sur les systèmes 32 bits

8 octets sur les systèmes 64 bits
De -2 147 483 648 à 2 147 483 647 sur les systèmes 32 bits

De -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 sur les systèmes 64 bits
Object 4 octets N’importe quel objet référence
Single (virgule flottante simple précision) 4 octets De -3,402823E38 à -1,401298E-45 pour les valeurs négatives

De 1,401298E-45 à 3,402823E38 pour les valeurs positives
String (longueur variable) 10 octets + longueur de chaîne 0 à environ 2 milliards
String (longueur fixe) Longueur de chaîne 1 à environ 65 400
Variant (avec nombres) 16 octets Une valeur numérique à la plage d’un Double
Variant (avec caractères) 22 octets + longueur de chaîne (24 octets systèmes 64 bits) Même plage que pour longueur variable chaîne
User-defined (utilisant Type) Numéro requis par les éléments La plage de chaque élément est identique à la plage de son type de données.

Des données de type Variant contenant un tableau nécessitent 12 octets de plus qu’un tableau isolé.

Remarque

Matrices de toutes les données type nécessitent 20 octets de mémoire plu 4 octets pour chaque dimension de tableau ainsi que le nombre d’octets occupé par les données elles-mêmes. Mémoire occupée par les données peut être calculée en multipliant le nombre d’éléments de données par la taille de chaque élément.

Par exemple, les données dans un tableau unique dimension constitué de 4 entier éléments de données de 2 octets occupe 8 octets. 8 octets requis pour les données plus 24 octets de surcharge permet d’accéder à la configuration requise mémoire total pour la matrice à 32 octets. Sur les plateformes 64 bits, SAFEARRAY prend jusqu'à 24 bits (plus de 4 octets par instruction Dim). Le membre pvData est un pointeur 8 octets et doit être aligné sur les limites de 8 octets.

Remarque

LongPtr n’est pas un véritable type de données, car il est converti en Long dans les environnements 32 bits, ou en LongLong dans les environnements 64 bits. LongPtr doit être utilisé pour représenter les valeurs de pointeur et de handle dans les instructions Declare et permet d’écrire du code portable exécutable dans les environnement 32 et 64 bits.

Remarque

Utilisez la fonction StrConv pour convertir un type de données String en un autre.

Caractères de type d’identificateur

Un jeu de caractères de type identificateur est fourni que vous pouvez utiliser dans une déclaration pour spécifier le type de données d’une variable ou d’une constante. Le tableau suivant présente les caractères de type d’identificateur disponibles avec des exemples d’utilisation.

Caractère de type d’identificateur Type de données Exemple
% Entier Dim L%
& Entier long Dim M&
^ LongLong Dim N^
@ Devise Const W@ = 37.5
! Unique Dim Q!
# Double Dim X#
$ Chaîne Dim V$ = "Secret"

Il n’existe aucun caractère de type d’identificateur pour les Booleantypes de données , DecimalLongPtrDateDoubleByte, ObjectVariant , ou pour les types de données composites tels que les tableaux, les collections, les dictionnaires, les structures ou les types définis par l’utilisateur.

Dans certains cas, vous pouvez ajouter le $ caractère à une fonction Visual Basic, par exemple Left$ au lieu de Left, pour obtenir une valeur retournée de type String.

Dans tous les cas, le caractère de type d’identificateur doit immédiatement suivre le nom de l’identificateur.

Convertir des types de données

Consultez Fonctions de conversion de type pour obtenir des exemples d’utilisation des fonctions suivantes pour contraindre une expression à un type de données spécifique : CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLngLng, CLngPtr, CSng, CStr et CVar.

Pour ce qui suit, voir les pages des fonctions respectives : CVErr, Fix et Int.

Remarque

CLngLng est valide uniquement sur les plateformes 64 bits.

Vérifier des types de données

Pour vérifier des types de données, voir les fonctions suivantes :

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.