Après l'enregistreur, l'étape suivante est d'écrire du code VBA à la main. Tout commence par les variables : elles stockent une valeur pour la réutiliser plus loin, et combinées à InputBox et MsgBox, elles donnent vie à des macros qui dialoguent vraiment avec l'utilisateur !
Dans cet exercice, tu vas construire un Sub complet avec Option Explicit, Dim, InputBox et MsgBox. Une fois ces briques maîtrisées, tu sauras structurer n'importe quelle macro qui récupère des données dynamiques et communique un résultat à l'écran.
Ce que tu vas construire
Comprendre à quoi sert Option Explicit et pourquoi on le place en tête de module.
Déclarer des variables avec Dim et choisir le bon type (String pour du texte, Long pour un entier).
Récupérer une saisie utilisateur avec InputBox et la stocker dans une variable.
Construire un message en concaténant texte et variables avec l'opérateur &.
Afficher ce message dans une boîte de dialogue MsgBox.
À connaître avant de commencer
- Savoir ouvrir l'éditeur VBA avec Alt+F11 et insérer un module (Insertion > Module).
- Avoir déjà exécuté une macro (F5 ou Alt+F8).
Voici les données de départ de cet exercice. Copie-les ou télécharge le fichier Excel, puis entraîne-toi avant de regarder le corrigé.
| A | B | |
|---|---|---|
| 1 | Champ | Valeur |
| 2 | Prénom | |
| 3 | Âge |
Exercice guidé
Coche chaque étape au fur et à mesure. Tente-la dans ton fichier, puis déplie le corrigé.
Appuie sur Alt+F11 pour ouvrir l'éditeur VBA, puis va dans Insertion > Module. Tape Option Explicit tout en haut du module (avant les Sub), puis déclare un Sub vide nommé Bienvenue.
Option Explicit
Sub Bienvenue()
End SubAttention
- Sans module, il n'y a nulle part où écrire le code : l'insertion d'un module est obligatoire.
- Option Explicit se place tout en haut du module, avant les Sub. Ajouté à l'intérieur d'un Sub, il provoque une erreur de compilation.
Astuces pour aller plus loin
Option Explicit évite les bugs liés aux fautes de frappe
Sans Option Explicit, une variable mal orthographiée (prnom au lieu de prenom) est silencieusement créée comme une nouvelle variable vide. Avec Option Explicit, VBA détecte l'erreur à la compilation avant même d'exécuter la macro. Bonne habitude à prendre dès le départ.
Choisis le bon type de variable
String pour du texte, Long pour un entier, Double pour un nombre décimal. Utiliser Integer est possible mais Long est plus sûr (plage plus grande, pas de dépassement sur les grands nombres). Boolean pour vrai/faux, Date pour les dates.
Pour aller plus loin sur les boucles VBA
Une fois les variables et les messages maîtrisés, la prochaine étape est de répéter une action sur plusieurs lignes avec une boucle. Tout est expliqué ici : https://blog.ledojo.club/loops-in-vba
Questions fréquentes
On utilise le mot-clé Dim suivi du nom de la variable, du mot-clé As et du type : Dim prenom As String. La déclaration se place à l'intérieur du Sub, avant toute utilisation de la variable. Avec Option Explicit en tête de module, toute variable non déclarée provoque une erreur de compilation.
String stocke du texte (une suite de caractères), Long stocke un entier (nombre entier sans décimale). Choisir le bon type évite les erreurs de conversion : affecter le texte d'un InputBox à une variable Long provoque une erreur si la saisie n'est pas un nombre valide.
MsgBox affiche une boîte de dialogue modale. La syntaxe la plus simple est MsgBox "Votre texte". Pour inclure une variable dans le message, on concatène avec & : MsgBox "Bonjour " & prenom affiche "Bonjour" suivi de la valeur de prenom. La boîte se ferme quand l'utilisateur clique sur OK.
Option Explicit force la déclaration explicite de toutes les variables avec Dim avant utilisation. Sans lui, VBA crée silencieusement toute variable non déclarée avec la valeur vide, ce qui peut produire des bugs difficiles à repérer (une faute de frappe crée une nouvelle variable au lieu de signaler l'erreur). Il se place en tout début de module.
InputBox affiche une fenêtre de saisie et renvoie ce que l'utilisateur a tapé sous forme de chaîne de caractères. On stocke le résultat dans une variable : prenom = InputBox("Quel est ton prénom ?"). Si l'utilisateur clique sur Annuler, InputBox renvoie une chaîne vide.
3 exercices similaires aux variables et messages en VBA
Tableau de bord freelance
Créer un tableau de bord complet pour suivre ton chiffre d'affaires, tes charges et ta rentabilité mois par mois en tant que freelance.
Voir l'exercice
Suivi de trésorerie freelance
Construire un tableau de suivi de trésorerie pour anticiper tes mois creux et ne jamais te retrouver à découvert. Suivre encaissements, décaissements et solde prévisionnel semaine par semaine.
Voir l'exercice
Facturation automatisée
Créer un système de facturation semi-automatique dans Excel : saisir le client et les prestations, et la facture se génère avec numérotation, TVA et montant en lettres.
Voir l'exercice
Envie de t'entraîner plus ?
Des dizaines de cas pratiques Excel corrigés pour progresser pour de vrai.
Voir tous les exercices