Liste des Types de Variables en VBA

Dans cet article sur les types de variables en VBA, vous découvrirez les différents types de données disponibles pour stocker et manipuler des informations dans vos programmes VBA. Comprendre les types de variables est essentiel pour créer des scripts VBA efficaces et éviter les erreurs de programmation courantes. Les types de variables permettent aux développeurs de gérer efficacement la mémoire et d'assurer la compatibilité des données entre différentes parties du code.

Types de variables en VBA

Vous trouverez ici les types de données les plus couramment utilisés en VBA, tels que les entiers, les nombres à virgule flottante, les chaînes de caractères et les objets. Chaque Type est accompagné d'une explication et d'exemples de Déclaration (Dim) et d'affectation. Ainsi, vous verrez comment les différents types sont utilisés en pratique.

Les différents types de variables disponibles en VBA

 

Type Description Exemple de déclaration Exemple d'affectation de valeur
Byte Un nombre entier non signé compris entre 0 et 255 Dim monByte As Byte monByte = 128
Boolean Un type de données pour stocker des valeurs vraies (True) ou fausses (False) Dim monBoolean As Boolean monBoolean = True
Integer Un nombre entier signé compris entre -32.768 et 32.767 Dim monInteger As Integer monInteger = -12345
Long Un nombre entier signé compris entre
-2^31 (-2.147.483.648)
et
2^31 – 1 (2.147.483.647)
Dim monLong As Long monLong = 123456789
LongLong Un nombre entier signé compris entre
-2^63 (-9.223.372.036.854.775.808)
et
2^63 – 1 (9.223.372.036.854.775.807)Disponible uniquement sur les systèmes 64 bits.
Dim monLongLong As LongLong monLongLong = 9223372036854775807
Single Un nombre à virgule flottante à précision simple, pour représenter des nombres réels.

La précision est d'environ 7 chiffres significatifs (6 à 9 chiffres, selon la valeur), et l'exposant varie de -45 à 38.

Dim monSingle As Single monSingle = 3,14159
Double Un nombre à virgule flottante à précision double, pour représenter des nombres réels avec une plus grande précision.

La précision est d'environ 15 à 17 chiffres significatifs, et l'exposant varie de -324 à 308.

Dim monDouble As Double monDouble = 1,23456789012345
Currency Un type de données pour stocker des valeurs monétaires, avec une précision fixe de 15 chiffres à gauche de la virgule et 4 chiffres à droite. Dim monMontant As Currency monMontant = 12345,6789
Decimal Un type de données pour stocker des nombres décimaux à virgule fixe avec une grande précision (jusqu'à 28 chiffres significatifs).

En VBA, le type Decimal n'est pas directement supporté comme un type de données déclarable pour une variable. Cependant, il est possible de l'utiliser en tant que sous-type du type Variant.

Dim monDecimal As Variant monDecimal = CDec(12345,678901234567890123456789)

Dans cet exemple, la fonction CDec() est utilisée pour convertir une valeur numérique en Decimal et l'affecter à une variable de type Variant.

Date Un type de données pour stocker des valeurs de date et d'heure. Dim maDate As Date maDate = #24/3/2023#

Notez que pour travailler avec les dates en VBA, vous devez les entourer du # pour signifier qu'il s'agit d'une date et pas de deux divisions consécutives.

String Un type de données pour stocker des chaînes de caractères (texte). Dim monTexte As String monTexte = "Bonjour, ceci est un exemple de chaîne de caractères."
Object Un type de données pour stocker des références à des objets dans VBA, tels que des instances de classes ou des objets Excel. Dim monObject As Object Set monObject = Sheets("Feuil1")
Variant Un type de données spécial qui peut contenir différents types de données, y compris les types numériques, les chaînes et les objets. Dim monVariant As Variant Exemple d'affectation numérique:
monVariant = 42Exemple d'affectation de chaîne:
monVariant = "Ceci est un exemple de Variant"Exemple d'affectation d'objet:
Set monVariant = Sheets("Feuil1")

Attention: Ce tableau des types de variables en VBA n'est pas totalement exhaustif. Il couvre les types de données les plus couramment utilisés en VBA, mais il y a d'autres types qui sont moins fréquemment utilisés ou qui sont spécifiques à certaines situations.

Voici quelques raisons pour lesquelles certains types de données peuvent ne pas être inclus dans le tableau :

  1. Types dérivés : Certains types de données sont des versions dérivées d'autres types de base. Par exemple, LongPtr est un type dérivé de Long ou LongLong, selon que vous utilisez une plate-forme 32 bits ou 64 bits.
  2. Types spécifiques à l'API Windows : Certains types de données, tels que HWND, LPARAM, WPARAM, etc., sont spécifiques à l'API Windows et ne sont généralement pas utilisés dans le développement VBA standard. Ils sont utilisés lorsque vous travaillez directement avec l'API Windows pour interagir avec les éléments du système d'exploitation.
  3. Types d'objets spécifiques : Les objets Excel, Word, PowerPoint et d'autres applications Microsoft Office ont leurs propres types d'objets spécifiques. Par exemple, Range, Worksheet, Workbook, Document, Slide, etc., sont des types d'objets spécifiques à une application donnée. Ces types d'objets sont généralement utilisés avec le type Object pour stocker des références à des objets spécifiques à une application.
  4. Types provenant des Add-ins externes : En VBA, il est possible d'installer les Add-ins ou des Références provenant de sources extérieures (par exemple pour une communication avec un logiciel particulier). Vous pouvez y trouver différent types de variables spécifiques à la fonctionnalité de l'Add-in / Référence.
  5. Types d'objets personnalisés : Vous pouvez créer vos propres types d'objets personnalisés en utilisant des classes dans VBA. Ces types d'objets ne sont pas inclus dans le tableau car ils dépendent de la conception et de l'implémentation spécifiques à votre projet.

Conclusion

En conclusion, maîtriser les types de variables en VBA est essentiel pour créer des programmes robustes et efficaces. En comprenant les différences entre les types de données et en les utilisant de manière appropriée, vous pouvez optimiser l'utilisation de la mémoire, éviter les erreurs de programmation et améliorer la lisibilité de votre code. Cette connaissance approfondie des types de variables vous permettra de développer des solutions VBA plus performantes et adaptées à une variété de situations et de besoins. J'espère que ce tutoriel vous a aidé à renforcer votre compréhension des types de variables en VBA et que vous êtes maintenant mieux équipé pour relever vos défis de programmation.

Pour aller plus loin en VBA

Voici quelques autres articles qui pourraient vous intéresser et vous aider à progresser en VBA…

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *