Présentation
Présentation du langage VBA
Visual Basic pour Application (VBA) est le langage de programmation commun à toutes les applications de la suite Microsoft Office (Word, Access, Excel, Outlook et PowerPoint), disponible à la fois dans la suite Office 2024 et dans Office 365.
1. Objectifs du langage VBA
Sous Excel, l’utilisation du langage VBA vous permet :
-
d’automatiser des actions répétitives : VBA permet d’effectuer en une seule opération un nombre important de commandes Excel ;
-
d’interagir sur les classeurs d’Excel : le contenu et la présentation de tous les éléments contenus dans un classeur (feuilles, cellules, graphiques...) peuvent être modifiés par du code VBA ;
-
de créer des formulaires personnalisés : les formulaires sont des boîtes de dialogue composées de contrôles ActiveX (zones de texte, listes déroulantes...) auxquelles peut être associé du code VBA. Les formulaires vous permettent de créer des interfaces conviviales pour la saisie ou l’affichage d’informations ;
-
de générer automatiquement des tableaux croisés dynamiques et des graphiques : vous pourrez ainsi automatiser la création de représentations statistiques à partir de vos données Excel (ou de vos données d’Entreprises exportées sous Excel) ;
-
de personnaliser l’interface d’Excel : le ruban Office est intégralement personnalisable et il est possible d’associer des macros développées...
Les macros d’Excel
1. Affichage de l’onglet Développeur dans le ruban
Pour écrire des macros, exécuter des macros enregistrées ou créer des applications Excel, vous devez afficher l’onglet Développeur de la façon suivante :
Cliquez sur l’onglet Fichier, puis sur Options.
Sélectionnez la catégorie Personnaliser le ruban.
Sous Personnaliser le ruban, dans la liste Onglets principaux, sélectionnez la case à cocher Développeur.
Cliquez sur le bouton OK : l’onglet Développeur a été ajouté au ruban d’Excel, à droite de l’onglet Affichage.
2. Description de l’onglet Développeur
a. Groupe Code
|
Bouton de commande |
Description |
|
|
Ouvre l’environnement de développement. Le raccourci-clavier est [Alt][F11]. |
|
|
Affiche la liste des macros. Le raccourci-clavier est [Alt][F8]. |
|
|
Démarre l’enregistrement d’une macro. |
|
|
Permet d’utiliser des références relatives à la première cellule sélectionnée. |
|
|
Personnalise les paramètres de sécurité des macros. |
b. Groupe Compléments
|
Nom du bouton |
Description |
|
|
Permet de télécharger des compléments Office. |
|
|
Permet de sélectionner des macros complémentaires. |
|
|
Permet de sélectionner des compléments COM (librairies de fonctions complémentaires). |
c. Groupe Contrôles
|
Nom du bouton |
Description |
|
|
Permet d’insérer des contrôles (formulaires ou ActiveX) dans Excel. |
|
|
Active ou désactive le mode Création. En mode Création, les contrôles ActiveX peuvent être sélectionnés et modifiés mais ne peuvent pas être exécutés. |
|
|
Affiche les propriétés de l’objet Excel sélectionné (feuille ou contrôle). |
|
|
Permet d’accéder directement au code associé au contrôle sélectionné. |
|
|
Exécute une boîte de dialogue personnalisée. |
3. L’enregistrement de macros
a. Enregistrement d’une première macro
Nous allons voir comment créer une macro qui permet d’affecter une bordure et un motif aux cellules sélectionnées :
Sélectionnez une plage de cellules.
Cliquez sur le bouton de l’onglet Développeur (vous
pouvez également accéder à ce bouton
depuis la barre d’état).
Saisissez, dans la boîte de dialogue suivante, le nom de la macro, sa description et éventuellement la touche de raccourci associée.

Cliquez sur le bouton OK pour démarrer l’enregistrement de la macro.
Effectuez sous Excel les manipulations à enregistrer : affectez un motif et une bordure aux cellules sélectionnées.
Cliquez sur le bouton de l’onglet Développeur pour
interrompre l’enregistrement de la macro (vous pouvez également
accéder à ce bouton depuis la barre d’état).
b. Exécuter une macro
Pour lancer une macro depuis Excel :
Cliquez sur le bouton de l’onglet Développeur ou
utilisez le raccourci-clavier [Alt][F8],
puis effectuez un double clic sur le nom de la macro.
Ou effectuez la combinaison de touches associée à la macro.
Pour visualiser les informations relatives à une macro (touches de raccourci et description), sélectionnez la macro dans la liste et cliquez sur le bouton Options....
Pour arrêter l’exécution d’une macro, faites [Echap] ou [Ctrl][Pause].
c. Enregistrer une macro avec des références de cellules relatives
Si vous enregistrez une macro en mode référence absolue (mode par défaut), les plages de cellules référencées dans les opérations de sélections, déplacements... sont des plages fixes. Ex : Range ("A2") désigne la cellule A2.
Si vous enregistrez une macro en mode référence relative, les plages de cellules sont exprimées en fonction de la position de la première cellule active. Ex : ActiveCell.range("A2") désigne la cellule située en dessous de la cellule active, ActiveCell.range("B1") désigne la cellule située à droite de la cellule active.
ActiveCell.range("A1") fait toujours référence à la première cellule active. A1 est en quelque sorte la référence relative de la première cellule active.
Pour enregistrer une macro avec des références relatives :
Cliquez sur le bouton de l’onglet Développeur : celui-ci
est alors activé (mis en surbrillance).
Exemple
La même séquence d’opérations a été enregistrée dans deux macros : la première macro (RefRelative) a été enregistrée avec l’option référence relative, la deuxième (RefAbsolue) avec l’option référence absolue.
La séquence d’opérations est la suivante :
-
Sélection d’une plage de cellules.
-
Déplacement de la plage de deux lignes vers le bas et d’une colonne vers la droite.
Sub RefAbsolue()
' Référence absolue
Range("B2:C8").Select
Selection.Cut Destination:=Range("C4:D10")
Range("C4:D10").Select
End Sub
___________________________________________________________________
Sub RefRelative()
' Référence relative
ActiveCell.Range("A1:B7").Select
Selection.Cut Destination:=ActiveCell.Offset(2, 1).Range("A1:B7")
ActiveCell.Offset(2, 1).Range("A1:B7").Select
End Sub
d. Définir le lieu de stockage d’une...
Les affectations de macros
Il est possible d’associer une macro commande aux différents éléments suivants :
-
Commandes personnalisées du ruban.
-
Bouton de commande de la barre d’outils Accès rapide.
-
Contrôles ou objets insérés dans des feuilles de calcul Excel (bouton de commande, image...).
1. Accéder à une macro à partir du ruban Office
Microsoft Office offre une fonctionnalité de personnalisation du ruban. Il est en effet possible d’ajouter, de supprimer ou de réaffecter des onglets, des groupes et des commandes au ruban afin de disposer d’une application personnalisée et optimisée.
Pour accéder à la boîte de dialogue de personnalisation du ruban, procédez de la façon suivante :
Effectuez un clic droit sur le ruban et sélectionnez l’option Personnaliser le ruban.
ou
Cliquez sur l’onglet Fichier, puis sur Options et sélectionnez la catégorie Personnaliser le ruban.
La boîte de dialogue suivante est alors affichée :

Pour insérer des macros commandes dans un nouvel onglet, effectuez les instructions suivantes :
Cliquez sur le bouton de commande Nouvel onglet : un onglet et un groupe sont alors ajoutés à la liste des onglets principaux.
Vous pouvez renommer l’onglet et le groupe nouvellement créés en effectuant un clic droit et en sélectionnant l’option Renommer. Le menu contextuel vous permet également d’ajouter des onglets ou des groupes.
Pour accéder à la liste des macros commandes disponibles, sélectionnez Macros dans la liste déroulante Choisir les commandes dans les catégories suivantes (liste située en haut à gauche).
Pour ajouter la macro commande à un groupe, sélectionnez la macro dans la liste de gauche et le groupe dans la liste de droite, puis cliquez sur Ajouter.
Vous pouvez modifier le libellé de la macro et son icône, en cliquant avec le bouton droit sur la macro dans la liste de droite et en sélectionnant l’option Renommer.
Vous pouvez également modifier l’ordre d’affichage des onglets, groupes et commandes au moyen des flèches situées à droite de la boîte de dialogue.
Exemple de personnalisation :

Pour valider votre personnalisation, cliquez sur le bouton de commande OK : le nouvel onglet est ajouté dans le ruban Office :

Vous pouvez à tout moment rétablir le ruban par défaut depuis la boîte de dialogue de personnalisation du ruban, en cliquant sur le bouton Réinitialiser (vous pouvez alors rétablir l’intégralité du ruban ou seulement un onglet). Il est également possible d’exporter ou d’importer...
L’environnement de développement VBE
VBE (Visual Basic Editor) est l’environnement dans lequel vous pouvez saisir, modifier et tester votre code VBA. Cet environnement est également appelé IDE (Integrated Development Environment) ou éditeur VBA.
L’environnement VBE met à votre disposition de nombreux outils permettant de faciliter la programmation et la mise au point de votre code VBA : outils de débogage, assistance à la saisie, explorateur d’objets...
1. Accès à l’environnement VBE
Pour accéder à l’environnement
VBE depuis Excel, cliquez sur le bouton de l’onglet Développeur ou
utilisez le raccourci-clavier [Alt][F11].
2. Fermeture de l’environnement VBE
Pour fermer l’environnement VBE et retourner à l’environnement Excel :
Cliquez sur la croix rouge située en haut à droite de la fenêtre principale de l’environnement VBE.
ou
Cliquez sur l’option Fermer et retourner à Microsoft Excel du menu Fichier.
3. Retour à l’environnement Excel
Pour retourner à l’environnement Excel sans fermer l’environnement VBE, utilisez l’une des deux possibilités suivantes :
Cliquez sur l’icône de la barre d’outils Standard.
Utilisez la combinaison de touches [Alt][F11].
4. Description de l’environnement VBE
Toutes les fenêtres de l’environnement VBE peuvent être affichées à partir du menu Affichage.

(1) La barre d’outils Standard
|
1 Affichage Microsoft Excel 2 Ajouter une feuille utilisateur 3 Enregistrer 4 Couper 5 Copier 6 Coller 7 Rechercher 8 Annuler 9 Répéter |
10 Exécuter Sub 11 Arrêt 12 Réinitialiser 13 Mode création 14 Explorateur de projets 15 Fenêtre Propriétés 16 Explorateur d’objets 17 Boîte à outils 18 Aide sur VBA Excel 19 Position courante dans la fenêtre de code |
(2) L’Explorateur de projets
À chaque classeur ouvert dans Excel est associé un projet. L’explorateur de projets permet d’afficher tous les projets et tous les modules de chaque projet selon une structure arborescente. Les modules sont regroupés en quatre catégories :
-
Les modules associés aux objets Excel (classeur et feuilles).
-
Les modules associés aux formulaires.
-
Les modules standards.
-
Les modules de classe.
Chaque module peut contenir plusieurs procédures....
Configuration de l’éditeur VBA
1. Paramétrage des polices
Les mots-clés, les fonctions et les instructions VBA sont affichés en bleu, les objets, méthodes et propriétés en noir et les commentaires en vert. Les instructions contenant des erreurs sont mises en évidence en rouge.
Pour modifier le style (couleur, police, taille) des différentes parties du code, sélectionnez Options dans le menu Outils et cliquez sur l’onglet Format de l’éditeur.

2. Paramétrage de la saisie du code
Différents outils, comme par exemple la vérification automatique de la syntaxe, la déclaration obligatoire des variables, le complément automatique d’instructions... facilitent la saisie et la mise au point du code VBA.
Pour activer ces outils, sélectionnez Options dans le menu Outils et cliquez sur l’onglet Éditeur.

3. Gestion des erreurs
Les options de récupération des erreurs permettent de définir si l’exécution du code est interrompue lorsqu’une erreur d’exécution survient.
Pour activer ces options, sélectionnez Options dans le menu Outils et cliquez sur l’onglet Général.

Si votre code VBA inclut une gestion des erreurs, sélectionnez l’option Arrêt sur les erreurs non gérées sinon les instructions...