Blog

Programmer en VBA : Comment Débuter et Écrire son Premier Code ?

Programmer en VBA : Comment Débuter et Écrire son Premier Code ?

Vous passez des heures à faire les mêmes clics et les mêmes copier-coller sur Excel ? Vous savez qu’il doit y avoir une manière plus intelligente de travailler, mais le mot « programmation » vous fait peur ? Vous cherchez comment automatiser des tâches sans y passer des semaines ?

Ce guide est fait pour vous. Oubliez les cours compliqués et le jargon technique. Nous allons voir ensemble, étape par étape, comment débuter en VBA même si vous n’avez jamais écrit une seule ligne de code. Vous serez capable d’écrire et d’exécuter votre première macro en moins d’une heure.

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

Le VBA, ou Visual Basic for Applications, est simplement le langage de programmation intégré dans les logiciels de la suite Microsoft Office. Pensez à lui comme une boîte à outils cachée dans Excel, Word ou Outlook. Son but principal est d’automatiser des actions que vous faites manuellement.

Au lieu de cliquer 50 fois pour formater un rapport, vous pouvez écrire un petit script qui fait tout le travail en une seconde. C’est le super-pouvoir des utilisateurs d’Excel qui veulent arrêter de perdre du temps. Chaque instruction que vous donnez en VBA permet de manipuler les données et les objets du logiciel.

Les avantages concrets de programmer en VBA sont nombreux :

  • Gagner un temps fou : C’est le bénéfice numéro un. Les tâches qui prenaient des heures peuvent être faites en quelques secondes.
  • Réduire les erreurs humaines : Un code fait toujours la même chose, sans faute de frappe ni d’inattention. La fiabilité de vos rapports augmente.
  • Créer des fonctions personnalisées : Si Excel n’a pas la fonction dont vous avez besoin, vous pouvez la créer vous-même avec le VBA.
  • Manipuler des données massivement : Trier, filtrer, copier des milliers de lignes de données devient un jeu d’enfant.
  • Interagir entre les logiciels Office : Vous pouvez, par exemple, créer un script dans Excel qui génère un rapport, puis l’envoie par email via Outlook, le tout automatiquement.

En résumé, apprendre le VBA, c’est investir un peu de temps au début pour en économiser énormément sur le long terme. C’est l’un des outils les plus efficaces pour optimiser votre manière de travailler sur Excel.

Étape 1 : Activer l’onglet Développeur, le prérequis indispensable

Par défaut, l’onglet « Développeur » est caché dans Excel. Microsoft a fait ce choix pour ne pas surcharger l’interface des utilisateurs qui n’en ont pas besoin. Pour commencer à programmer en VBA, votre toute première mission est de l’afficher.

Sans cet onglet, vous n’aurez pas d’accès direct aux outils VBA comme l’éditeur de code ou l’enregistreur de macro. L’activer ne prend que 30 secondes et ne se fait qu’une seule fois. Suivez simplement ces instructions.

  1. Allez dans le menu « Fichier » en haut à gauche de votre page Excel.
  2. Cliquez sur « Options », tout en bas de la colonne de gauche.
  3. Une boîte de dialogue s’ouvre. Dans le menu de gauche de cette nouvelle fenêtre, sélectionnez « Personnaliser le ruban ».
  4. Sur la droite, vous verrez une liste d’onglets principaux. Trouvez la ligne « Développeur » et cochez la case correspondante.
  5. Cliquez sur « OK » pour valider.

Et voilà. Un nouvel onglet nommé « Développeur » est apparu dans votre ruban en haut de l’écran. C’est votre nouveau centre de commande pour tout ce qui concerne le VBA et les macros dans Excel.

Étape 2 : Votre premier pas de programmeur avec l’Enregistreur de Macro

La meilleure manière de débuter en VBA n’est pas d’apprendre des dizaines de lignes de code par cœur. C’est d’utiliser un outil génial : l’Enregistreur de Macro. C’est votre meilleur ami pour commencer.

Le principe est simple : l’enregistreur vous « observe » pendant que vous effectuez des actions dans Excel (cliquer sur une cellule, changer une couleur, mettre en gras) et il traduit automatiquement toutes ces actions en code VBA. Vous n’avez rien à écrire, juste à cliquer.

Tutoriel pratique : enregistrer votre première macro

Nous allons créer une macro très simple qui met une cellule en jaune avec du texte en gras. C’est un cas d’école parfait pour comprendre le mécanisme.

  1. Cliquez sur une cellule vide dans votre feuille de calcul, par exemple la cellule A1.
  2. Allez dans l’onglet « Développeur » que vous venez d’activer.
  3. Cherchez le bouton « Enregistrer une macro » et cliquez dessus.
  4. Une petite fenêtre apparaît. Donnez un nom simple à votre macro (par exemple, « MiseEnForme_Test »). Attention, le nom ne doit pas contenir d’espaces ni de caractères spéciaux. Cliquez sur OK.
  5. À partir de maintenant, Excel enregistre tout. Restez sur la cellule A1. Allez dans l’onglet « Accueil », mettez le fond de la cellule en jaune et le texte en gras.
  6. Une fois terminé, retournez dans l’onglet « Développeur » et cliquez sur le bouton « Arrêter l’enregistrement ».

Félicitations, vous venez de créer votre première macro sans écrire une seule ligne de code. L’enregistreur a fait tout le travail en arrière-plan.

Comment exécuter la macro ?

Maintenant que la macro est enregistrée, voyons comment l’utiliser.

  • Cliquez sur n’importe quelle autre cellule vide (par exemple, C5).
  • Allez dans l’onglet « Développeur » et cliquez sur le bouton « Macros » (juste à côté de « Enregistrer une macro »).
  • Une boîte de dialogue s’ouvre avec la liste de toutes vos macros. Sélectionnez « MiseEnForme_Test ».
  • Cliquez sur le bouton « Exécuter ».

Instantanément, la cellule C5 devient jaune avec le texte en gras. Vous pouvez répéter cette opération sur n’importe quelle cellule. Vous venez d’automatiser une tâche de mise en forme.

Comprendre le code généré : Plongée dans le Visual Basic Editor (VBE)

L’enregistreur, c’est bien, mais pour vraiment programmer en VBA, il faut voir ce qui se passe sous le capot. Il est temps d’ouvrir l’éditeur de code, aussi appelé Visual Basic Editor (VBE). C’est l’endroit où tout votre code VBA est stocké et où vous allez pouvoir le modifier.

Comment ouvrir le Visual Basic Editor (VBE) ?

Il y a deux manières simples d’accéder à l’éditeur :

  • Dans l’onglet « Développeur », cliquez sur le bouton « Visual Basic », tout à gauche.
  • Utilisez le raccourci clavier universel : ALT + F11.

Une nouvelle fenêtre s’ouvre. Elle peut sembler intimidante au début, mais ne vous inquiétez pas, nous allons nous concentrer sur l’essentiel.

Visite guidée de l’interface

Pour un débutant, seules deux fenêtres sont importantes :

  • L’Explorateur de projet (à gauche) : C’est un peu comme l’explorateur de fichiers de Windows. Il liste toutes vos feuilles de calcul, votre classeur (« ThisWorkbook ») et des dossiers appelés « Modules ». C’est dans ces modules que votre code VBA est rangé.
  • La fenêtre de code (la grande zone à droite) : C’est ici que le code s’affiche et que vous allez l’écrire ou le modifier. C’est votre principal espace de travail.

Normalement, Excel a créé un « Module1 » dans l’explorateur de projet. Double-cliquez dessus si ce n’est pas déjà fait pour afficher le code de votre macro dans la fenêtre principale.

Analyser votre premier code

Dans la fenêtre de code, vous devriez voir quelque chose qui ressemble à ça. C’est le code que l’enregistreur a écrit pour vous.


Sub MiseEnForme_Test()
'
' MiseEnForme_Test Macro
'

'
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Selection.Font.Bold = True
End Sub

Analysons cette première ligne de code ensemble :

  • Sub MiseEnForme_Test() : « Sub » est le mot qui annonce le début d’une procédure (une suite d’instructions). « MiseEnForme_Test » est le nom que vous avez donné à votre macro.
  • Les lignes en vert avec une apostrophe (‘) : Ce sont des commentaires. Le VBA les ignore complètement. Ils servent juste à laisser des notes pour vous ou pour d’autres développeurs.
  • With Selection.Interior ... End With : Ce bloc d’instructions s’applique à l’intérieur (.Interior) de la cellule actuellement sélectionnée (Selection). La ligne .Color = 65535 est celle qui applique la couleur jaune.
  • Selection.Font.Bold = True : Cette ligne est plus simple à lire. Elle dit : « Pour la police (Font) de la sélection (Selection), active le gras (Bold = True) ».
  • End Sub : Indique la fin de la procédure. Tout le code exécutable doit se trouver entre Sub et End Sub.

En regardant ce code, vous commencez à comprendre la logique du VBA. Il s’agit de donner des ordres précis à des objets d’Excel (comme une cellule, une police, etc.).

Les 3 concepts fondamentaux du VBA à maîtriser

Pour passer de simple utilisateur de l’enregistreur à programmeur, vous devez comprendre trois concepts de base. Toute la programmation en VBA repose sur eux. Pour faire une analogie, imaginez que vous voulez décrire une voiture.

H3: Les Objets : Les « choses » que l’on manipule

Un objet, en VBA, c’est tout simplement un élément d’Excel. Ça peut être un classeur (Workbook), une feuille de calcul (Worksheet), une plage de cellules (Range) ou même une seule cellule (Cell). C’est le « nom » sur lequel vous voulez agir.

Dans notre analogie, la « voiture » est l’objet. En VBA, vous direz à Excel sur quel objet vous voulez travailler. Par exemple, pour parler de la cellule A1 de la première feuille, l’objet s’écrira Worksheets(1).Range("A1").

H3: Les Propriétés : Les caractéristiques des objets

Une propriété, c’est une caractéristique qui décrit un objet. Pour notre voiture, ses propriétés pourraient être sa couleur, son nombre de portes ou sa vitesse actuelle. En VBA, une cellule (un objet Range) a des propriétés comme sa valeur (.Value), sa couleur de fond (.Interior.Color) ou sa formule (.Formula).

C’est « l’adjectif » de l’objet. On accède à une propriété en ajoutant un point après le nom de l’objet. Par exemple, Range("A1").Value donne la valeur de la cellule A1. C’est ce que vous lisez ou ce que vous modifiez.

H3: Les Méthodes : Les actions que les objets peuvent faire

Une méthode, c’est une action, un verbe. C’est ce qu’un objet peut « faire ». Notre voiture peut Démarrer(), Accélérer() ou Freiner(). En VBA, un objet Range peut se faire sélectionner (.Select), copier (.Copy) ou effacer (.ClearContents).

C’est « l’action » que vous demandez à l’objet d’accomplir. Comme pour les propriétés, on utilise un point après l’objet pour appeler une méthode. Par exemple, Range("A1").Select va activement sélectionner la cellule A1.

Tableau récapitulatif des concepts
Concept Définition simple Exemple de code
Objet La « chose » que l’on vise. Range("B2")
Propriété Une caractéristique de la chose (sa valeur, sa couleur…). Range("B2").Value = "Bonjour"
Méthode Une action que la chose peut faire (copier, effacer…). Range("B2").Copy

Une fois que vous avez compris cette hiérarchie (on prend un Objet, on change une de ses Propriétés ou on lui fait faire une Méthode), vous avez compris 80% de la logique de la programmation VBA.

Étape 3 : Écrire votre premier code VBA de A à Z

Maintenant que vous comprenez la base, il est temps d’écrire votre premier code manuellement, sans l’aide de l’enregistreur. Nous allons créer une macro qui affiche une simple boîte de dialogue avec un message.

  1. Ouvrez le Visual Basic Editor (ALT + F11).
  2. Si vous n’avez pas de module, allez dans le menu « Insertion » et cliquez sur « Module ». Un nouveau module apparaît dans l’explorateur de projet.
  3. Dans la grande fenêtre de code blanche, tapez exactement le code suivant :

Sub HelloVBA()

    MsgBox "Bonjour tout le monde !"

End Sub

Analysons ce que vous venez d’écrire :

  • Sub HelloVBA() : Vous déclarez une nouvelle procédure nommée « HelloVBA ».
  • MsgBox "Bonjour tout le monde !" : C’est le cœur de notre code. MsgBox est une fonction VBA intégrée qui permet d’afficher une boîte de dialogue. Le texte que vous voulez afficher doit être mis entre guillemets.
  • End Sub : Vous terminez la procédure.

Pour exécuter ce code, assurez-vous que votre curseur est bien à l’intérieur du texte (entre Sub et End Sub) et appuyez sur la touche F5 de votre clavier. Une petite fenêtre pop-up doit apparaître sur votre écran Excel avec le message « Bonjour tout le monde ! ».

Vous venez d’écrire et d’exécuter votre toute première ligne de code fonctionnelle. C’est un pas immense dans votre apprentissage du VBA.

Comment gérer les erreurs ? Introduction au débogage

En programmant, vous ferez forcément des erreurs. Tout le monde en fait, même les experts. Le plus important est de ne pas en avoir peur et de savoir comment les corriger. C’est ce qu’on appelle le débogage.

En VBA, il y a principalement deux types d’erreurs pour un débutant :

  • Erreur de syntaxe : C’est une simple faute de frappe ou une erreur de grammaire dans le code. Souvent, le VBE vous prévient immédiatement en affichant la ligne en rouge. Par exemple, si vous oubliez les guillemets dans `MsgBox`.
  • Erreur d’exécution : Le code est syntaxiquement correct, mais il demande à Excel de faire quelque chose d’impossible. Par exemple, vous essayez de manipuler une feuille de calcul qui n’existe pas.

Quand une erreur d’exécution se produit, Excel arrête la macro et affiche une boîte de dialogue d’erreur. La bonne nouvelle, c’est qu’il vous propose un bouton « Débogage ». Si vous cliquez dessus, le VBE se met en pause et surligne en jaune la ligne de code exacte qui a posé problème. C’est une aide précieuse pour trouver et corriger vos erreurs.

Le réflexe à avoir n’est pas de paniquer, mais de lire le message d’erreur et de regarder la ligne surlignée. La plupart du temps, la solution est évidente une fois que vous savez où regarder.

FAQ – Questions fréquentes sur la programmation VBA

Est-ce que le VBA est encore pertinent aujourd’hui ?

Oui, absolument. Même s’il existe des langages plus modernes, le VBA reste l’outil d’automatisation le plus intégré et le plus accessible pour les millions d’utilisateurs d’Office. Pour des tâches d’automatisation internes à Excel ou à la suite Office, il reste souvent la solution la plus simple et la plus rapide à mettre en place.

Puis-je apprendre le VBA sans connaître d’autre langage ?

Oui, et c’est même un de ses points forts. Le VBA est un excellent langage pour commencer la programmation car il est relativement simple et vous voyez immédiatement les résultats de votre code dans un environnement que vous connaissez déjà : Excel.

Quelle est la différence entre un fichier .xlsx et .xlsm ?

C’est une différence cruciale. Un fichier .xlsx est un classeur Excel standard qui ne peut pas contenir de macros. Si vous enregistrez votre travail dans ce format, tout votre code VBA sera supprimé. Pour conserver vos macros, vous devez obligatoirement enregistrer votre fichier au format .xlsm (Classeur Excel prenant en charge les macros).

Où trouver de l’aide si je suis bloqué ?

La communauté VBA est immense. Des sites comme Stack Overflow, des forums spécialisés et de nombreuses chaînes YouTube offrent des milliers de tutoriels et de réponses à presque toutes les questions que vous pourriez vous poser. Une simple recherche sur Google avec votre message d’erreur ou votre problème vous donnera souvent plusieurs pistes de solution.

Laura

Laura

Passionnée de stratégies digitales et numériques, partageant insights et analyses pour votre réussite digitale.