Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

L’Enregistreur de macros

Objectifs

Que vous soyez déjà familier des macros Excel ou que vous débutiez dans votre apprentissage, l’Enregistreur de macros incorporé à Excel est un outil des plus efficaces pour vous permettre, à partir de manipulations élémentaires, de générer du code VBA automatiquement, répliquant ce que vous faites au clavier et à la souris dans votre classeur.

Ce chapitre vise à vous indiquer comment lancer un enregistrement, comment l’arrêter et l’analyser, et vous indique comment finir par vous en détacher avec l’expérience.

À ce moment de votre lecture, aucune connaissance en VBA n’est requise.

Ce chapitre ne contient pas d’exercices, mais vous êtes invités à reproduire les cas 1, 2 et 3 abordés dans la section Pratiquer l’Enregistreur de macros.

Le ruban Excel et l’onglet Développeur

Avant d’accéder à l’environnement de programmation, il est important de configurer correctement votre application Microsoft Excel. Pour cela, vous devez activer l’onglet Développeur. Voici comment y parvenir.

Activer l’onglet Développeur

Dans le ruban Excel, vous trouverez plusieurs onglets visibles par défaut, comme AccueilInsertion ou encore Aide.

images/02SOB01N.png

Afin de faire apparaître l’onglet Développeur si vous le ne voyez pas encore, il suffit d’effectuer la manipulation suivante :

 Effectuez un clic droit sur le ruban et cliquez sur Personnaliser le ruban.

images/02SOB02N.png

Une interface avec deux zones de liste s’affiche alors.

images/02SOB03N.png

 Cochez la case Développeur dans la zone de liste de droite puis cliquez sur le bouton OK en bas de la fenêtre.

L’onglet Développeur apparaît alors entre les onglets Affichage et Aide :

images/02SOB04N.png

Cet onglet est dédié aux tâches de programmation (dans le domaine informatique, on parle de programmeur ou de développeur).

Dans cet onglet, vous trouverez notamment un précieux outil pour apprendre à programmer par l’exemple, à savoir l’Enregistreur de macros, que nous allons aborder plus en détail dans la section suivante.

Utiliser l’Enregistreur de macros

Comme vous l’avez vu dans la section précédente, vous disposez dans l’onglet Développeur d’un bouton Enregistrer une macro. Si vous n’avez pas encore affiché cet onglet, faites-le.

images/02SOB05N.png

À quoi sert l’Enregistreur de macros

En tant qu’utilisateur d’Excel, il vous arrive parfois d’avoir à effectuer des séries de copier-coller, des opérations répétitives et même parfois pénibles car complexes et prenant beaucoup de temps. Votre plus-value dans pareils cas peut être difficile à déterminer, et il vous semble très contrariant de réaliser jour après jour les mêmes actions dans vos fichiers Excel. 

Comme vous avez fait le bon choix en ouvrant cet ouvrage, vous allez pouvoir utiliser cet outil formidable qu’Excel met à votre disposition : l’Enregistreur de macros.

Son rôle est de retenir toutes vos actions dans Excel, et de les réécrire sous forme d’instructions VBA, qui seront exécutables autant de fois que vous le souhaiterez.

Bien que cet outil ne remplace pas un bon programmeur, il vous permettra dans un premier temps de vous familiariser avec le code et de vous adapter ensuite au résultat obtenu, afin de rédiger vos propres programmes.

Il est même utilisé par des développeurs VBA plus expérimentés, simplement pour obtenir des morceaux de code qui leur manquent ou parce qu’ils estiment...

Exécuter une macro enregistrée

 Pour exécuter une macro enregistrée, cliquez sur le bouton Macros situé dans le groupe Code de l’onglet Développeur.

images/02SOB13N2.png

La fenêtre Macro s’affiche. Elle comporte la liste des macros enregistrées.

images/02SOB14N2.png

Seules les macros du classeur actif sont visibles. C’est Ce classeur qui apparaît dans la zone de liste Macros dans:.

 Sélectionnez la macro que vous venez de créer et cliquez sur Exécuter.

La macro s’exécute alors : vous obtenez de nouveau le texte Salut dans la cellule A1, souligne et sur fond jaune.

Afficher le code de la macro

 Affichez à nouveau la fenêtre Macro. Sélectionnez la macro SalutSurFondJauneEtSouligne puis cliquez sur le bouton Modifier

Une fenêtre s’ouvre et vous y voyez des instructions de code.

images/02SOB15N2.png

Nous détaillerons dans le chapitre suivant l’environnement actuellement actif.

Le code ainsi généré sera similaire à celui-ci :

Sub SalutSurFondJauneEtSouligne()  
'  
' SalutSurFondJauneEtSouligne Macro  
' Saisir une valeur Salut dans la cellule sélectionnée. Colorer ensuite 
le fond de cette cellule en jaune. Enfin, souligner le contenu 
de la cellule.  
'  
   
'  
    Range("A1").Select  
    ActiveCell.FormulaR1C1 = "Salut"  
    Range("A1").Select  
    With Selection.Interior  
        .Pattern = xlSolid  
        .PatternColorIndex = xlAutomatic  
        .Color = 65535  
        .TintAndShade = 0  
        .PatternTintAndShade = 0  
    End With  
    Selection.Font.Underline = xlUnderlineStyleSingle  
End Sub 

Code généré par l’Enregistreur...

Première notion en VBA, les commentaires

En parcourant l’exemple précédent, la première chose que vous pouvez lire sont les lignes qui sont inscrites en vert : elles correspondent au texte que vous avez tapé pour la description de la macro.

Chacune des lignes qui commence par le caractère apostrophe (’) ne sera pas lue par le programme. On appelle cela un commentaire. Les commentaires sont uniquement visibles du programmeur.

Les commentaires peuvent être placés sur la totalité d’une ligne ou après une instruction, en bout de ligne :

'Commentaire sur une ligne complète 
Range("A1").Select 'Sélectionne la cellule A1 

Commentaires sur une ligne ou en bout de ligne

Pratiquer l’Enregistreur de macros

Afin de vous exercer à utiliser l’Enregistreur de macros, voici quelques exemples de manipulations fréquentes que vous pourriez être tenté de reproduire. Les données sont libres, aussi qu’il s’agisse de données sur des employés, des stocks de fourniture ou des données financières, l’objectif ici est de déclencher l’enregistrement de macros, d’effectuer un certain nombre de manipulations, puis d’arrêter l’enregistrement pour voir le code correspondant.

Cas 1

Vous disposez d’une feuille avec des données déjà présentes, vous souhaitez insérer une colonne entre deux autres, et y mettre une formule pour valider des informations. Cette étape répétitive peut être enregistrée dans une macro.

Cas 2

Vous souhaitez copier une série de lignes de données dans une feuille A et les coller dans une feuille B, en modifiant la couleur de fond des cellules. Là encore, ces manipulations peuvent être enregistrées.

Cas 3

En partant d’une feuille vierge, vous pouvez saisir des informations dans les cellules, renommer la feuille dans laquelle vous avez fait vos saisies, en créer une autre, et créer un graphique à partir des données saisies.

Se détacher de l’Enregistreur de macros

Lorsque vous allez débuter pour faire vos premières macros, l’Enregistreur de macros va vous aider à mieux comprendre le déroulement de ce qu’Excel effectue pas à pas. Viendra ensuite le moment de vous essayer par vous-même à coder vos propres programmes, en vous basant parfois sur ce que l’Enregistreur a généré pour vous.

Apprendre de ses erreurs pour progresser

Il n’y a pas de secret : pour devenir un bon développeur, il vous faudra beaucoup pratiquer et le langage VBA sous Excel n’échappe pas à la règle. Le chemin jusqu’à la maîtrise des syntaxes, des structures de code et de l’écriture de code robuste passera par de nombreux essais et échecs, mais ne vous découragez pas, vous allez voir dans la suite de cet ouvrage comment être le mieux équipé possible pour ce parcours.

Enregistrer le classeur avec les macros

Afin de conserver ce qui vient d’être fait, il convient à présent d’enregistrer le classeur Excel. Dans la mesure où ce classeur contient des macros, il ne peut plus être enregistré au format xlsx mais avec l’extension xlsm.

 Cliquez sur l’onglet Fichier puis sur Enregistrer sous.

images/02SOB16N2.png

 Sélectionnez le dossier puis le type de fichier Classeur Excel (prenant en charge les macros (*.xlsm).

images/02SOB17N2.png

 Cliquez sur Enregistrer.

La section suivante vous indique les différences qui existent entre les différentes versions d’Excel selon l’extension attribuée au classeur.

Format de fichier avec macros

Une chose importante à savoir avant de poursuivre, concerne le fichier qui contiendra vos macros. Le nom d’un classeur possède l’extension xls ou xlsx ; c’est ce qui vous permet de savoir qu’il s’agit d’un fichier Excel. Si le classeur possède des macros, l’extension sera donc différente (xlsm). Ces extensions ont évolué avec les différentes versions d’Excel. Nous allons passer rapidement en revue les extensions que vous pourriez rencontrer durant votre apprentissage.

Avant Office 2007 : une seule extension, xls

Avant la version Office 2007, l’extension de fichier historique des fichiers Excel était .xls. Ce format de fichier, qui porte aujourd’hui le nom Classeur Excel 97-2003 (il existe même la possibilité d’utiliser Classeur Excel Microsoft Excel 5.0/95, totalement obsolète, mais encore visible dans les choix d’enregistrement Excel), est de moins en moins fréquemment utilisé, mais existe toujours. Ce type de fichier permettait de stocker dans chaque feuille 65 536 lignes et 256 colonnes. Avec ce type de fichier vous ne vous saviez pas s’il contenait ou non des macros. La version 2007 est venue ajouter d’autres extensions disponibles pour enregistrer vos fichiers.

Depuis Office 2007

Office 2007 a vu la création de plusieurs extensions...

Conclusion

En utilisant un classeur que vous prendrez le soin de créer pour effectuer les manipulations et exercices qui seront proposés dans cet ouvrage, vous aurez la possibilité de garder trace de vos essais tout du long des chapitres que vous êtes sur le point de parcourir.

L’Enregistreur de macros n’est que la première étape de votre parcours.