Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Variables et Types de Données | Fondamentaux de VBA
VBA Excel Pour l'Automatisation des Entreprises

Variables et Types de Données

Glissez pour afficher le menu

Chaque procédure que vous écrivez a besoin d'un espace pour stocker des valeurs pendant son exécution — le nom d'un client, un total cumulé, un indicateur oui/non. C'est ce qu'est une variable : une boîte étiquetée en mémoire dans laquelle vous pouvez placer une valeur et la relire plus tard. Vous en créez une avec Dim (abréviation de « dimension »), et vous indiquez à VBA à l'avance quel type de donnée elle contiendra :

Dim productName As String
Dim currentStock As Integer
Dim unitPrice As Double

Chaque ligne réserve un emplacement étiqueté : productName ne peut contenir que du texte, currentStock uniquement des nombres entiers, unitPrice uniquement des nombres à virgule. Déclarer le type à l'avance n'est pas une formalité inutile — cela permet à VBA de détecter les erreurs avant qu'elles ne deviennent des bugs. Essayez d'exécuter productName = 47 et VBA vous arrête immédiatement avec une erreur d'incompatibilité de type, au lieu de stocker silencieusement une valeur incorrecte qui causerait de la confusion plus tard.

Types de données courants

Règle générale : utiliser Long au lieu de Integer pour les compteurs et les numéros de ligne — ce n'est pas plus lent dans les versions récentes d'Excel, et cela évite le dépassement sur de grands ensembles de données. Vous verrez Dim i As Long partout dans ce cours.

Option Explicit

Placez cette ligne unique tout en haut de chaque module, avant toute déclaration Sub. Elle change une chose : VBA refusera désormais d'exécuter toute ligne utilisant une variable que vous n'avez pas déclarée avec Dim au préalable :

Option Explicit
 
Sub Example()
    Dim total As Double
    total = 100        ' works — declared above
    toatl = 200        ' typo — Option Explicit catches this at compile time
End Sub

Sans Option Explicit, cette faute de frappe crée silencieusement une nouvelle variable appelée toatl, et vous passeriez vingt minutes à vous demander pourquoi total ne change jamais. Cette simple habitude évite plus d'erreurs que tout le reste de ce chapitre.

Constantes

Les constantes sont des valeurs nommées qui ne changent jamais pendant l'exécution du code — idéal pour des éléments comme les taux de taxe ou les seuils :

Const REORDER_THRESHOLD As Integer = 20

Utiliser REORDER_THRESHOLD au lieu de taper 20 partout signifie que si la règle métier change, vous modifiez une seule ligne au lieu de devoir rechercher dans tout votre code.

Tâche

  1. Dans Section_2_VBA_Fundamentals.xlsm, écrire une Sub qui déclare une variable String pour un nom de produit, un Double pour son prix, et un Integer pour son stock.
  2. Leur attribuer les valeurs pour USB-C Hub en saisissant directement les valeurs littérales.
  3. Utiliser MsgBox pour afficher les trois dans un seul message, concaténés ensemble.
  4. Ajouter Const LOW_STOCK As Integer = 20 au-dessus de votre Sub et l'utiliser dans un MsgBox en le comparant à la variable de stock.
Indice
expand arrow
  1. Trois lignes Dim avec des types différents sont nécessaires — se référer à la Figure 2.1 si vous oubliez la syntaxe : Dim name As Type.
  2. La ligne de USB-C Hub est Price 39.50, Stock 44. Attribuez-les directement : price = 39.50.
  3. La concaténation utilise &, pas +. Construisez la chaîne par morceaux : "Name: " & productName & ", Price: " & price.
  4. Les constantes sont déclarées en dehors de toute Sub, en haut du module, juste après Option Explicit. Comparez stockCount à LOW_STOCK avec un simple > ou < dans une chaîne MsgBox — il n'est pas encore nécessaire d'utiliser un If, affichez simplement les deux valeurs pour comparer visuellement.
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 2. Chapitre 1
some-alt