Cours VBA gratuit | Bases

Variables et Dim

Gratuit, sans inscription Niveau 1 / 3 | Découverte Lecture 8 min V1.2 | 29/10/2026

Une variable est une boîte nommée dans laquelle la macro range une information pour s'en resservir : un total, un nom de client, une date, une plage de cellules. Bien les déclarer évite une bonne moitié des bugs.

Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer

01Définition

En une phrase

Une variable est un espace mémoire nommé qui stocke une valeur pendant l'exécution de la macro. On la déclare avec Dim, en précisant son type.

Déclarer et utiliser des variables
Sub Exemple()
    Dim client As String
    Dim quantite As Long
    Dim prixUnitaire As Double

    client = "Dupont SARL"
    quantite = 12
    prixUnitaire = 14.5

    MsgBox client & " : " & quantite * prixUnitaire & " euros"
End Sub

02Les types à connaître

TypeContientExemple
LongNombre entier (jusqu'à environ 2,1 milliards)numéro de ligne, quantité
DoubleNombre à virguleprix, taux, montant
StringTextenom, référence, adresse
BooleanTrue ou Falsetrouvé ou non
DateDate et heureéchéance, date de commande
VariantN'importe quoi (type par défaut)à éviter sauf besoin réel
RangeUne cellule ou une plagela cellule d'un total
WorksheetUne feuillela feuille Données
💡 AstuceLong plutôt qu'Integer

Integer s'arrête à 32 767, alors qu'une feuille compte plus d'un million de lignes. Pour un compteur ou un numéro de ligne, prenez toujours Long.

03Les variables objet et Set

Une variable qui désigne un objet (cellule, feuille, classeur) se remplit avec Set. Sans Set, VBA déclenche l'erreur 91.

Variables objet
Dim ws As Worksheet
Dim total As Range

Set ws = ThisWorkbook.Worksheets("Ventes")
Set total = ws.Range("F2")
total.Value = 1500

04Option Explicit

Placée tout en haut du module, la ligne Option Explicit oblige à déclarer chaque variable. Une faute de frappe dans un nom devient alors une erreur signalée à la compilation, au lieu de créer silencieusement une nouvelle variable vide.

💡 AstuceL'activer pour toujours

Dans l'éditeur VBA : Outils > Options, cochez Déclaration des variables obligatoire. La ligne sera ajoutée automatiquement à chaque nouveau module.

05Portée et constantes

  • Déclarée dans une procédure : la variable n'existe que pendant cette procédure.
  • Déclarée en haut du module, avec Dim ou Private : elle est partagée par toutes les procédures du module.
  • Déclarée Public en haut d'un module standard : elle est visible partout dans le classeur.

Une valeur qui ne change jamais se déclare en constante : Const TAUX_TVA As Double = 0.2.

06Pièges à éviter

⚠️ PiègeDim a, b As Long

Seule la dernière variable est un Long : a est un Variant. Il faut écrire Dim a As Long, b As Long.

⚠️ PiègeOublier Set

ws = Worksheets("Ventes") provoque une erreur. Pour un objet, c'est Set ws = Worksheets("Ventes").

⚠️ PiègeUn texte dans un nombre

Ranger le contenu d'une cellule texte dans une variable Long déclenche l'erreur 13. Vérifiez avec IsNumeric avant de convertir.

⚠️ PiègeDes noms parlants

x, a2, temp ne disent rien six mois plus tard. Préférez derniereLigne, totalHT, wsClients.

07Questions fréquentes

Comment déclarer une variable en VBA ?

Une variable est un espace mémoire nommé qui stocke une valeur pendant l'exécution de la macro. On la déclare avec Dim, en précisant son type.

Quel est le piège le plus fréquent avec les variables VBA ?

Dim a, b As Long. Seule la dernière variable est un Long : a est un Variant. Il faut écrire Dim a As Long, b As Long.

La fiche « Variables et Dim » est-elle gratuite ?

Oui. La fiche est en accès libre et gratuit, sans inscription : vous pouvez la lire en ligne et télécharger sa version PDF. Elle fait partie du cours VBA gratuit de mesetudesdecas.fr, qui compte 21 fiches.

Pour les formateurs

Passez de la fiche à la mise en situation

Les études de cas mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise. L'étude de cas XL-05 fait automatiser un devis commercial de bout en bout, macros comprises, avec énoncé, corrigé et pas-à-pas du formateur.

Découvrir l'étude de cas XL-05
Voir aussi

Toutes les fiches du cours VBA gratuit

Voir aussi le cours gratuit sur les formules Excel

Fiche V1.2 | Dernière mise à jour : 29/10/2026 | Clément Delobel, formateur Excel et VBA