Utiliser une macro sur Excel

Au cours de mes deux dernières expériences professionnelles, et notamment de la dernière, j’ai eu l’occasion de suivre des formations avancées sur Excel car c’est un logiciel que j’utilise de manière continue.

Au cours de ces formations, j’ai appris tout un tas de choses, dont certaines me sont restées (les tableaux croisés dynamiques, les fonctions avancées et imbriquées, etc.), certaines sont reparties aussi vite qu’elles étaient venues (c’est par exemple le cas du « Visual Beginner’s All Purpose Symbolic Instructions Code Applications », alias le VBA, un langage de programmation).

A mi-chemin entre ces deux catégories, j’ai appris il y a quelques années à utiliser les macros sur Excel, qui me permettent depuis de gagner un temps considérable. M’étant rendu compte que le terme « macro » faisait peur aux gens, en tous cas à certains de mes collègues, alors qu’au final c’est extrêmement simple, je me suis dit que j’allais partager cette connaissance de manière plus large.

Quel est le principe (à part s’amuser) ?

La macro sur Excel va vous servir à automatiser des tâches que vous effectuez régulièrement sur un ou sur des fichiers Excel (= les mêmes opérations sur le même fichier, ou les mêmes opérations sur des fichiers différents mais identiques en termes de format).

Cela fonctionne très simplement comme un enregistreur : vous ouvrez votre fichier, vous enregistrez toute une série d’actions dans la macro, et vous fermez le tout ; à la prochaine occasion que vous aurez à effectuer les mêmes actions , il vous suffira de cliquer une fois sur la macro, et toutes les opérations enregistrées s’effectueront instantanément : magique !

Par exemple, imaginons un fichier dont le format d’origine ne convient et qui ressemblerait à celui-ci :

 

– la ligne-titre n’est ni colorée ni filtrée

– les intitulés des colonnes ne sont pas corrects

– le format des deux colonnes date n’est pas bon

– le format de la colonne montant n’est pas bon

–  il n’y a pas de bordure dans le tableau

–  le total dû n’apparaît pas

Effectuer ces 6 modifications à la main me prendrait une vingtaine de secondes. Grâce à une macro, ça n’en prend plus qu’une : ce n’est pas grand-chose, mais en cumulé par jour ça devient très appréciable et ça rend impossible toute fausse manipulation.

Comment ça fonctionne ?

Pour commencer, je vous invite à créer un raccourci d’accès aux macros sur le bandeau « barre d’accès rapide » sur Excel, ça vous évitera de passer par les menus contextuels.

Une fois que c’est fait, ouvrez le fichier.

Cliquez ensuite sur « Enregistrer une macro », et effectuez toutes les opérations correctives nécessaire, par exemple celles listées ci-dessous (colorer et filtrer la barre de titre, modifier les intitulés de colonne, corriger les formats de colonne, mettre des bordures – je reviendrai plus tard sur le total de la colonne E). Cliquez sur « Arrêter l’enregistrement ». C’est fini.

A la création de votre première macro, au moment de fermer votre fichier, Excel va vous demander si vous voulez enregistrer votre macro, et où.

Il faudra choisir « Classeur de macros personnelles », afin que cette macro soit disponible pour tous vos fichiers Excel à venir et non pas seulement ce fichier précisément.

Si par la suite vous constatez un problème d’ouverture intempestive du fichier « classeur personnel », vous pourrez modifier cela dans le menu affichage.

La prochaine fois que vous aurez à apporter les mêmes modifications à un fichier, il vous suffira de choisir la macro dans le menu correspondant et de cliquer sur « lecture » :

Pour ceux qui ont suivi : pourquoi ne pas avoir intégré le total de la colonne E dans la macro afin que cette somme apparaisse, logiquement, en E18 ?

Parce que la macro aurait alors enregistré que je souhaite à cet endroit la somme des cellules E2 à E17 ; hors si demain, j’utilise ma macro sur un fichier ayant un nombre différent de lignes, ce total sera faux et mal placé… Capiche ?

Il y a un moyen, de contourner cette limite (en faisant la somme de toutes les cellules E en E10000, par exemple, et d’inclure dans la macro une formule alambiquée pour que ce total remonte de ligne en ligne tant que la ligne précédente est vide de données -alambiquée j’ai dit !- : perso, j’ai eu la flemme ^^).

Laisser un commentaire

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