Blog

Programmer en VBA : Comment Débuter dans Excel ?

Programmer en VBA : Comment Débuter dans Excel ?

Vous passez des heures à faire les mêmes tâches répétitives dans Excel ? Vous copiez, collez, mettez en forme des dizaines de tableaux chaque semaine et vous vous dites qu’il doit y avoir un moyen plus simple ?

Ce guide est fait pour vous. Il vous montre pas à pas comment débuter la programmation VBA pour automatiser vos tâches et gagner un temps précieux. Vous n’avez besoin d’aucune connaissance en programmation pour commencer.

Qu’est-ce que le VBA (Visual Basic for Applications) ?

Le VBA, ou Visual Basic for Applications, est le langage de programmation intégré dans les logiciels de la suite Microsoft Office, comme Excel, Word ou Access. Pour faire simple, c’est une manière de donner des ordres à Excel pour qu’il travaille à votre place.

Au lieu de cliquer vous-même sur les boutons, vous écrivez des instructions (un « code ») qu’Excel exécute automatiquement. C’est un outil très puissant pour manipuler des données et automatiser des actions. Chaque action que vous pouvez faire manuellement dans Excel peut être reproduite et automatisée avec du code VBA.

Voici les principales raisons d’utiliser le VBA :

  • Automatiser les tâches répétitives : Mettre en forme des rapports, trier des données, copier des informations d’une feuille à l’autre.
  • Créer des fonctions personnalisées : Si une formule Excel n’existe pas pour votre besoin, vous pouvez créer la vôtre.
  • Construire des outils sur mesure : Vous pouvez ajouter des boutons, des boîtes de dialogue et des menus pour créer de véritables petites applications dans vos classeurs.
  • Faire communiquer les applications Office : Par exemple, extraire des données d’Excel pour générer automatiquement un rapport dans Word ou un e-mail dans Outlook.
Concrètement, qu’est-ce que ça change ?

Imaginez que vous devez mettre en forme 100 tableaux identiques chaque mois. Manuellement, cela peut prendre une heure. Avec une macro VBA, vous cliquez sur un bouton et la tâche est réalisée en moins de 2 secondes. C’est ça, la puissance du VBA.

Le Guide Pratique : Vos 5 Premières Étapes pour Programmer en VBA

Passons à la pratique. Nous allons voir ensemble comment créer votre toute première macro. C’est plus simple que vous ne le pensez. Il suffit de suivre ces étapes dans l’ordre.

Étape 1 : Activer l’onglet « Développeur » (le prérequis indispensable)

Par défaut, l’onglet qui donne accès aux outils VBA est caché. La première chose à faire est de le rendre visible. C’est indispensable pour commencer à programmer.

La manière de faire est simple :

  1. Allez dans Fichier > Options (tout en bas).
  2. Dans la fenêtre qui s’ouvre, cliquez sur Personnaliser le ruban dans le menu de gauche.
  3. Sur la droite, dans la liste des onglets principaux, cochez la case « Développeur ».
  4. Cliquez sur OK pour valider.

L’onglet « Développeur » apparaît maintenant dans le ruban d’Excel, entre « Affichage » et « Aide ». Vous avez maintenant accès à tous les outils VBA.

Étape 2 : Découvrir l’Éditeur Visual Basic (VBE)

L’Éditeur Visual Basic (ou VBE) est l’endroit où vous allez écrire, modifier et gérer votre code. C’est votre nouvel espace de travail. Pour l’ouvrir, vous avez deux options :

  • Cliquez sur l’icône « Visual Basic » tout à gauche dans l’onglet « Développeur ».
  • Utilisez le raccourci clavier Alt + F11.

Une nouvelle fenêtre s’ouvre. Au début, elle peut sembler complexe, mais vous n’avez besoin de connaître que trois zones principales pour démarrer :

  • L’explorateur de projet (en haut à gauche) : Il liste tous les classeurs ouverts et les feuilles qu’ils contiennent. C’est ici que votre code sera rangé.
  • La fenêtre de propriétés (en bas à gauche) : Elle affiche les caractéristiques de l’objet sélectionné (par exemple, le nom d’une feuille).
  • La fenêtre de code (la grande zone à droite) : C’est ici que vous écrirez et modifierez votre code VBA. Si elle n’est pas visible, double-cliquez sur une feuille dans l’explorateur de projet pour la faire apparaître.

Étape 3 : Enregistrer votre toute première macro

La meilleure façon de débuter est de laisser Excel écrire le code pour vous. L’enregistreur de macro observe vos actions (clics, saisies) et les traduit automatiquement en code VBA. C’est un excellent outil pour apprendre.

Nous allons créer une macro simple qui change la couleur de fond d’une cellule en jaune et met le texte en gras.

  1. Retournez sur votre feuille Excel et sélectionnez n’importe quelle cellule (par exemple, A1).
  2. Allez dans l’onglet Développeur et cliquez sur « Enregistrer une macro ».
  3. Une petite fenêtre apparaît. Donnez un nom simple à votre macro, par exemple « MiseEnFormeSimple » (sans espaces ni caractères spéciaux). Cliquez sur OK.
  4. À partir de maintenant, toutes vos actions sont enregistrées.
  5. Avec la cellule A1 toujours sélectionnée, allez dans l’onglet « Accueil », mettez un fond de remplissage jaune et cliquez sur l’icône « Gras ».
  6. Retournez dans l’onglet Développeur et cliquez sur « Arrêter l’enregistrement ».

C’est tout ! Vous venez de créer votre première macro. Excel a généré le code VBA correspondant à vos actions.

Étape 4 : Analyser et comprendre votre premier code VBA

Maintenant, allons voir le code qu’Excel a écrit pour nous. Retournez dans l’éditeur VBA (Alt + F11). Dans l’explorateur de projet, vous verrez un nouveau dossier « Modules » avec « Module1 » à l’intérieur. Double-cliquez sur « Module1 » pour afficher le code dans la fenêtre principale.

Vous devriez voir quelque chose qui ressemble à ça :

‘ On déclare le début de notre procédure
Sub MiseEnFormeSimple()

‘ Le code généré par l’enregistreur pour mettre le fond en jaune et le texte en gras
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Selection.Font.Bold = True

‘ C’est la fin de notre procédure
End Sub

Même si ça a l’air compliqué, décortiquons les parties les plus importantes :

  • Sub MiseEnFormeSimple() : Sub est le mot qui indique le début d’une procédure (une série d’actions). « MiseEnFormeSimple » est le nom que vous avez donné à votre macro.
  • Selection.Interior.Color = 65535 : C’est ici qu’on applique la couleur. On dit à Excel : pour la Sélection (l’Objet), change la couleur de l’Intérieur (la Propriété) et mets la valeur 65535 (qui correspond au jaune). C’est la syntaxe de base en VBA : Objet.Propriété = Valeur.
  • Selection.Font.Bold = True : De la même manière, on dit : pour la Sélection (Objet), pour la Police (Propriété), active l’option Gras (sous-propriété) en lui donnant la valeur Vrai (True).
  • End Sub : Indique la fin de la procédure. Tout le code à exécuter doit se trouver entre Sub et End Sub.

Étape 5 : Modifier et exécuter votre propre code

L’intérêt de la programmation est de pouvoir modifier le code pour faire autre chose. Essayons de changer une valeur.

Dans la ligne Selection.Font.Bold = True, remplacez True par False. Votre code demande maintenant à Excel de ne PAS mettre le texte en gras.

Pour exécuter votre macro modifiée :

  1. Retournez sur votre feuille Excel.
  2. Sélectionnez une autre cellule, par exemple B2.
  3. Allez dans l’onglet Développeur, cliquez sur « Macros ».
  4. Sélectionnez « MiseEnFormeSimple » dans la liste et cliquez sur « Exécuter ».

La cellule B2 passe en jaune, mais le texte ne devient pas gras. Vous venez de modifier et d’exécuter votre premier code VBA ! Vous pouvez aussi placer votre curseur n’importe où dans le code dans l’éditeur VBA et appuyer sur la touche F5 pour lancer la macro.

Les 3 Concepts Fondamentaux du VBA à Maîtriser

Pour aller plus loin, vous devez comprendre trois concepts qui sont les piliers du langage VBA. C’est la grammaire qui vous permettra de construire vos propres phrases.

1. Les Objets

Les objets sont les éléments que vous manipulez dans Excel. Tout est un objet : le classeur lui-même, une feuille de calcul, une plage de cellules, un graphique, un bouton, etc. Pour interagir avec quelque chose, il faut d’abord le désigner.

Voici quelques exemples d’objets courants :

  • Workbooks("MonFichier.xlsx") : Désigne un classeur spécifique.
  • Worksheets("Feuil1") : Fait référence à la feuille nommée « Feuil1 ».
  • Range("A1") : Cible la cellule A1.
  • Range("A1:C5") : Cible la plage de cellules de A1 à C5.

2. Les Propriétés

Les propriétés sont les caractéristiques qui décrivent un objet. C’est comme la couleur, la taille ou le nom d’un objet. En modifiant les propriétés, vous changez l’apparence ou le contenu de l’objet.

Exemples de propriétés :

  • Range("A1").Value : La valeur (le contenu) de la cellule A1. Vous pouvez lire ou écrire cette valeur (ex: Range("A1").Value = "Bonjour").
  • Range("A1").Font.Color : La couleur de la police de la cellule A1.
  • Range("A1").Interior.Color : La couleur de fond de la cellule A1 (celle que nous avons modifiée).
  • Worksheets("Feuil1").Name : Le nom de la feuille « Feuil1 ».

3. Les Méthodes

Les méthodes sont les actions que les objets peuvent effectuer. Ce sont des verbes. Si les propriétés décrivent l’objet, les méthodes lui disent de faire quelque chose. Une méthode est souvent suivie de parenthèses.

Exemples de méthodes :

  • Range("A1").Select() : La méthode pour sélectionner la cellule A1.
  • Range("A1:C5").Copy() : L’action de copier la plage de cellules.
  • Range("A1:C5").Delete() : La méthode pour supprimer le contenu de la plage.
  • Worksheets.Add() : L’action d’ajouter une nouvelle feuille de calcul.
L’analogie de la voiture

Pour mieux comprendre, imaginez une voiture.

  • L’Objet est la Voiture.
  • Les Propriétés sont sa .Couleur, son .NombreDePortes ou sa .Vitesse. On peut les changer : Voiture.Couleur = "Rouge".
  • Les Méthodes sont les actions qu’elle peut faire : .Démarrer(), .Accélérer(), .Freiner().

Sécurité et Bonnes Pratiques : Ce qu’il faut savoir

Lorsque vous travaillez avec des macros, il y a un point important à connaître : la sécurité. Par défaut, Excel désactive les macros car elles peuvent potentiellement contenir du code malveillant (un virus, par exemple). C’est pour cette raison qu’il faut uniquement activer les macros provenant de sources de confiance.

Quand vous ouvrez un fichier contenant du code VBA, Excel affiche une barre de sécurité jaune vous demandant d’« Activer le contenu ». Vous ne devez cliquer sur ce bouton que si vous savez d’où vient le fichier.

Une autre chose cruciale est le format du fichier. Il existe deux types de fichiers Excel principaux :

  • .xlsx : C’est le format standard d’Excel. Il ne peut pas contenir de code VBA. Si vous enregistrez votre travail dans ce format, tout votre code sera effacé sans avertissement.
  • .xlsm : C’est le format « Classeur Excel prenant en charge les macros ». Vous devez obligatoirement enregistrer votre fichier sous ce format pour conserver votre code.
⚠️ Attention à l’enregistrement !

Lorsque vous enregistrez pour la première fois un classeur où vous avez écrit du code, allez dans « Fichier » > « Enregistrer sous » et dans la liste « Type », choisissez « Classeur Excel prenant en charge les macros (*.xlsm) ». C’est une habitude à prendre tout de suite pour ne pas perdre votre travail.

FAQ – Questions fréquentes sur la programmation VBA

Voici les réponses aux questions les plus courantes que se posent les débutants en VBA.

Le VBA est-il encore pertinent en 2025 ?

Oui, absolument. Même s’il existe des technologies plus récentes comme Python ou les Office Scripts, le VBA reste l’outil le plus direct et le plus répandu pour l’automatisation dans l’environnement Microsoft Office. Des millions d’entreprises l’utilisent chaque jour. Pour des tâches d’automatisation rapides et intégrées à Excel, c’est toujours la solution la plus efficace.

Est-ce difficile d’apprendre le VBA ?

Non, le VBA est considéré comme l’un des langages de programmation les plus accessibles, surtout pour les débutants. Grâce à l’enregistreur de macro, vous pouvez apprendre en observant le code généré par Excel. La logique est assez simple à comprendre une fois que vous maîtrisez les concepts d’objets, de propriétés et de méthodes.

Quelle est la différence entre VBA et VB.NET ?

VBA (Visual Basic for Applications) est un langage de script qui vit à l’intérieur des applications Office (Excel, Word…). Il a besoin d’une de ces applications pour fonctionner. VB.NET (Visual Basic .NET) est un langage de programmation complet qui permet de créer des applications autonomes pour Windows. VB.NET est beaucoup plus puissant et complexe, mais il n’est pas directement intégré à Excel comme le VBA.

Puis-je utiliser VBA dans d’autres logiciels que Excel ?

Oui. Le VBA est disponible dans la plupart des logiciels de la suite Microsoft Office. Vous pouvez utiliser le VBA dans Word, PowerPoint, Access, Outlook et Visio. Chaque application a ses propres objets spécifiques (un objet `Document` dans Word, un objet `Slide` dans PowerPoint), mais la logique du langage reste la même.

Où trouver de l’aide pour progresser en VBA ?

Il existe de nombreuses ressources. La première est l’aide intégrée à Excel. Dans l’éditeur VBA, placez votre curseur sur un mot-clé (comme `Range`) et appuyez sur la touche F1. Cela ouvrira la documentation Microsoft correspondante. Il y a aussi de nombreux forums en ligne, tutoriels vidéo et blogs spécialisés où vous pouvez poser des questions et trouver des exemples de code pour résoudre votre cas.

Thomas

Thomas

Expert en business et stratégies B2B, partageant conseils et analyses pour optimiser votre développement commercial.