Type de données variant

Le type de données Variant est le type de données de toutes les variables qui ne sont pas explicitement déclarées d'un autre type (au moyen d'instructions telles que Dim, Private, Public ou Static ).

Le type de données Variant n'a pas de caractère de déclaration de type.

Variant est un type de données spécial qui peut contenir n’importe quel type de données à l’exception des données String de longueur fixe. (Les types Variant prennent désormais en charge lestypes définis par l’utilisateur.) Un type Variant peut également contenir les valeurs spéciales Empty, Error, Nothing et Null. Vous pouvez déterminer le mode de traitement des données dans un Variant à l’aide des fonctions VarType ou TypeName.

Utilisez la fonction VarType pour tester le type de données tenu dans une variante.

Les données numériques peuvent être n’importe quel nombre entier ou nombre réel compris entre -1,797693134862315E308 et -4,94066E-324 pour les valeurs négatives et entre 4,94066E-324 et 1,797693134862315E308 pour les valeurs positives.

En règle générale, les données numériques de type Variante sont conservées dans leur type de données d’origine dans le type Variant. Par exemple, si vous affectez une valeur Integer à un Variant, les opérations suivantes traitent le Variant comme un Integer. Toutefois, si une opération arithmétique est effectuée sur un Variant contenant une valeur Byte, Integer, Long ou Single et que le résultat dépasse la plage normale pour le type de données d’origine, le résultat est promu dans le Variant au type de données supérieur suivant. Une valeur Byte est promue à une valeur Integer, une valeur Integer est promue à une valeur Long et des valeurs Long et Single sont promues à une valeur Double.

Une erreur se produit lorsque des variables Variant contenant des valeurs Currency, Decimal et Double dépassent leurs plages respectives.

Utilisez le type de données Variant à la place de n’importe quel type de données pour travailler avec des données avec une plus grande souplesse. Si le contenu d’une variable Variant est constitué de chiffres, ils peuvent correspondre à la représentation de chaîne des chiffres ou à leur valeur réelle, en fonction du contexte. Par exemple :

Dim MyVar As Variant 
MyVar = 98052 

Dans l’exemple précédent, MyVar contient une représentation numérique : la valeur réelle 98052. Les opérateurs arithmétiques fonctionnent comme prévu sur les variables Variant contenant des valeurs numériques ou des données String qui peuvent être interprétées comme des nombres. Si vous utilisez l’opérateur + pour ajouter MyVar à une autre variable Variant contenant un nombre ou à une variable d’un type numérique, le résultat est une somme arithmétique.

La valeur Empty indique une variable Variant qui n’a pas été initialisée (sans valeur initiale). Un Variant contenant Empty vaut 0 s’il est utilisé dans un contexte numérique et une chaîne de longueur nulle ("") s’il est utilisé dans un contexte de chaîne.

Ne confondez pas Empty et Null. Null indique que la variable Variant ne contient intentionnellement aucune donnée valide.

Dans une variable Variante, Error est une valeur spéciale utilisée pour indiquer qu’une condition d’erreur s’est produite dans uneprocédure. Toutefois, contrairement à d’autres types d’erreurs, la gestion normale des erreurs au niveau de l’application n’a pas lieu. Cela permet à l’application elle-même ou à vous-même d’effectuer d’autres actions basées sur la valeur d’erreur. Les valeurs Error sont créées en convertissant des nombres réels en valeurs d’erreur à l’aide de la fonction CVErr.

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.