Introduction aux Macros et à Visual Basic pour Applications

Introduction aux Macros et à Visual Basic pour Applications

Généralités et définitions

Dans une application Microsoft de la suite Office (Excel, Word, Access ou PowerPoint), chaque fois qu’une même séquence d’actions doit être effectuée périodiquement, il est possible d’enregistrer celles-ci dans une macro-commande de manière à les réaliser ensuite automatiquement, autant de fois qu’on le désire. Une macro-commande (macro en abrégé) est donc une suite de commandes et permet d’automatiser certaines tâches que l’on est amené à effectuer de manière répétitive, éventuellement avec des données différentes (ex. : mise en forme d’un tableau, recherche ou formatage de données, …).

Avec les macros, on peut créer des commandes complexes, de nouvelles fonctions, des interfaces graphiques avec menus, boîtes de dialogue, boutons personnalisés, … En un mot, les macros permettent à chacun de créer des outils adaptés à ses propres besoins. Avant de créer une macro pour automatiser une tâche, on doit toutefois s’assurer qu’aucune solution intégrée n’est fournie. Par exemple, si on veut sélectionner toutes les cellules vides d’une feuille Excel, il suffit de choisir le menu Edition/Atteindre et de cliquer sur Cellules… dans la boîte de dialogue.

– Orientation objet. Les éléments manipulés sont spécifiques à chaque application hôte : il s’agit par exemple de blocs de texte sous Word, de plages de cellules sous Excel ou de données stockées dans une table sous Access. Appelée objets, ceux-ci possèdent certaines caractéristiques bien définies, ainsi qu’un comportement propre (on dit qu’ils sont encapsulés). Ainsi, toute commande que vous pourriez réaliser sur un objet (ex. suppression d’un bloc de texte, formatage d’une plage de cellules ou édition d’un enregistrement d’une table) possèdent un équivalent sous forme de code VBA (procédure). L’ensemble des objets d’une application est regroupé dans une bibliothèque.

Si la macro à créer est simple, ou pour générer rapidement une première ébauche d’une macro plus complexe, on peut utiliser l’enregistreur de macros. Celui-ci fonctionne comme un magnétoscope : il mémorise les actions que vous effectuez (sélections, commandes, …) dans un module Visual Basic pour pouvoir les reproduire le moment voulu.

Pour exécuter une macro, ou gérer les différentes macros attachées au document (modification, suppression, …), utiliser la commande Outils/Macro/Macros… En appuyant sur l’un des boutons Créer ou Modifier de la même boîte de dialogue, on accède à l’éditeur Visual Basic pour, respectivement, créer de toutes pièces ou modifier une macro enregistrée.

A partir de la version 97 de la suite Office, la présentation de l’éditeur VBA a été homogénéisée (cf. figure 1 page suivante) ; il se présente dans une fenêtre distincte de celle de l’application hôte, ce qui permet de séparer le code des données.

projet regroupe l’ensemble des documents (i.e., sous Excel, les feuilles de calcul associées à un classeur, et sous Word, le document texte) et des macros. A partir de la racine de l’arborescence du projet, les documents sont accessibles dans la branche Microsoft Excel| Word| PowerPoint Objects et les macros dans la branche Modules.

– vérification automatique de la syntaxe : si cette option est active, lors du passage à la ligne suivante, l’éditeur signale les erreurs syntaxiques les plus évidentes (par ex. s’il manque then après if) et met en majuscules les objets, propriétés et méthodes qu’il connaît.

Lors de l’enregistrement d’une macro est générée une procédure Sub portant le nom spécifié. Il est possible de renommer celle-ci directement dans la fenêtre de code, ou bien dans l’application hôte. De même, la suppression des lignes comprises entre la ligne d’en-tête Sub et la fin de la macro repérée par End Sub équivaut à choisir dans l’application le menu Outils/Macro/Macros… puis Supprimer. L’exécution d’une macro peut également se lancer à partir de l’éditeur en appuyant sur le bouton , le curseur étant positionné dans le code correspondant.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *