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.
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 |
Dim monDecimal As Variant | monDecimal = CDec(12345,678901234567890123456789)
Dans cet exemple, la fonction CDec() est utilisée pour convertir une valeur numérique en |
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 |
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 :
- 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é deLong
ouLongLong
, selon que vous utilisez une plate-forme 32 bits ou 64 bits. - 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. - 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 typeObject
pour stocker des références à des objets spécifiques à une application. - 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.
- 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…
- Liste de toutes les fonctions disponibles en VBA
- Liste des Opérateurs disponibles en VBA
- Comment utiliser RECHERCHEV en VBA
- Manipulation des Fichiers en VBA
- Bibliothèque des Codes VBA prêts à l'emploi