Programmation VBA : guide complet pour débuter sur Excel et Office
Programmer en VBA permet d’automatiser des tâches répétitives dans Excel et Office.
- Créez des scripts avec Visual Basic Editor (Alt + F11).
- Déclarez des variables avec Dim et As pour un code fiable.
- Automatisez un email Outlook via l’objet Application et CreateItem.
- Supprimez les lignes vides avec une boucle For et IsEmpty.
- Rendez vos macros adaptatives en alimentant des variables depuis des cellules.
Qu’est-ce que le VBA et pourquoi l’utiliser ?
- Automatisation de tâches répétitives : Le VBA remplace les actions manuelles fastidieuses mise en forme, corrections, génération de rapports par un script qui s’exécute en un clic.
- Interaction entre applications Office : Le langage permet à Excel de piloter Outlook, Word ou PowerPoint par exemple, exporter une plage de cellules directement dans un email sans passer par le presse-papiers.
- Personnalisation de fonctionnalités Excel : Créez vos propres fonctions ou boîtes de dialogue qui n’existent pas nativement, adaptées à vos besoins métier précis.
Comprendre et utiliser les variables en VBA

Une variable est un espace mémoire temporaire qui stocke une valeur ou une référence. En VBA, vous devez déclarer chaque variable avec un type spécifique (texte, nombre, date…). Cette étape évite les erreurs et rend votre code plus fiable.
À découvrir aussi
Pour rendre vos macros plus fiables, pensez à bien structurer vos données sources : un tableau Excel organisé avec en-têtes clairs facilite ensuite la lecture des cellules par le code.
L’automatisation ne se limite pas aux tableurs : un casque de réalité virtuelle recrée un espace à 360° qui sollicite la vue et l’ouïe, pour un ancrage mémoriel supérieur à une simple lecture.
Pour déclarer une variable, utilisez les mots-clés Dim et As. Par exemple : Dim nomClient As String. Cette ligne crée une variable nommée « nomClient » capable de contenir du texte. Vous pouvez ensuite l’affecter avec le signe = et la réutiliser dans toute votre macro pour automatiser des actions répétitives.
L’intérêt principal des variables est de rendre vos macros adaptatives. Au lieu d’écrire des valeurs en dur, vous les alimentez depuis une cellule, un résultat de calcul ou une interaction utilisateur. Cela transforme un script rigide en un outil flexible et puissant.
Exemples concrets de code VBA pour Excel et Office
Créer un email automatisé dans Outlook
L’automatisation d’Outlook est l’une des applications les plus pratiques du VBA. Pour générer un message directement depuis Excel, commencez par ouvrir Visual Basic Editor (Alt + F11). Ensuite, insérez un nouveau module via le menu Insertion > Module.
- Ouvrir Visual Basic Editor : appuyez sur Alt + F11 dans Excel
- Insérer module et code : copiez le bloc suivant dans le module
- Personnaliser destinataire et objet : remplacez les valeurs de test par vos propres données
Le code de base utilise l’objet Outlook.Application et la méthode CreateItem. Il crée un nouvel email, définit le destinataire, l’objet et le corps du message. Vous pouvez même piocher dans les cellules d’Excel pour remplir ces champs automatiquement c’est le principe des tâches répétitives automatisées.
Supprimer les lignes vides dans Excel
Les feuilles de calcul comportent souvent des lignes vides qui gênent les analyses. Avec une macro simple, vous les éliminez en une fraction de seconde. Le code parcourt la colonne A de la feuille active et supprime les lignes vides grâce à une boucle For et la fonction IsEmpty.
Pour exécuter ce script, placez-le dans un module standard de Visual Basic Editor. Il interroge chaque cellule et, si elle est vide, efface toute la ligne correspondante. Cette approche évite les erreurs de sélection manuelle et garantit un classeur propre, prêt pour le traitement de données.
La communauté autour du VBA partage régulièrement des variantes de ce code, adaptées à PowerPoint ou Word. Vous pouvez facilement remplacer la plage cible pour supprimer les zones de texte vides dans une présentation ou un document.
Maîtriser les structures conditionnelles (If/End If)
Les structures conditionnelles permettent à votre code VBA de prendre des décisions. Avec If/End If, vous déterminez quelles lignes de code exécuter selon une ou plusieurs conditions spécifiées. Cela transforme une macro linéaire en un programme réactif qui s’adapte aux données de votre classeur.
La syntaxe repose sur If suivi d’une condition, puis du bloc de code à exécuter si elle est vraie. Vous pouvez ajouter ElseIf pour tester d’autres cas, ou Else pour gérer le cas par défaut. Par exemple, vous pouvez tester la valeur d’une cellule pour appliquer une mise en forme différente, ou valider une saisie utilisateur avant de lancer une opération. Ces branches conditionnelles rendent vos macros plus intelligentes et réduisent les erreurs.
Utiliser les boucles en VBA (For/Next, Do/Loop)
Une boucle permet de répéter une action un nombre défini de fois ou jusqu’à ce qu’une condition soit remplie. C’est le meilleur moyen de traiter chaque cellule d’une colonne ou chaque diapositive d’une présentation sans écrire la même ligne cent fois.
La boucle For/Next est idéale quand vous connaissez à l’avance le nombre d’itérations, par exemple pour parcourir les 50 premières lignes d’un tableau. La boucle Do/Loop convient lorsqu’on ne sait pas combien de fois répéter l’opération, comme supprimer des lignes vides jusqu’à ce qu’il n’en reste plus.
Pour éviter les erreurs, utilisez une variable de décompte qui décrémente lorsque vous supprimez des éléments d’une collection. Cette technique garantit que votre boucle traite chaque objet sans sauter d’index.
{
« @context »: « https://schema.org »,
« @type »: « Article »,
« headline »: « Programmation VBA : guide complet pour débuter sur Excel et Office »,
« description »: « Programmer en VBA permet d’automatiser des tâches répétitives dans Excel et Office. »,
« datePublished »: « 2026-07-26 »,
« author »: {
« @type »: « Organization »,
« name »: « alsatemporaire.fr »
},
« publisher »: {
« @type »: « Organization »,
« name »: « alsatemporaire.fr »,
« url »: « https://alsatemporaire.fr »
}
}
{
« @context »: « https://schema.org »,
« @type »: « FAQPage »,
« mainEntity »: [
{
« @type »: « Question »,
« name »: « Qu’est-ce que le VBA et pourquoi l’utiliser ? »,
« acceptedAnswer »: {
« @type »: « Answer »,
« text »: « Automatisation de tâches répétitives : Le VBA remplace les actions manuelles fastidieuses mise en forme, corrections, génération de rapports par un script qui s’exécute en un clic.\n Interaction entre applications Office : Le langage permet à Excel de piloter Outlook, Word ou PowerPoint par exemp »
}
}
]
}
