Les macros : "Houston, ici la lune"...

Pourquoi commencer à s'intéresser aux macros sous Excel, au VBA (Visual Basic for Application) ?


Avec le VBA, Microsoft permet de développer de petits programmes, en bénéficiant de fonctionnalités intégrées dans Office comme par exemple les boites de dialogue (vous savez : "Voulez-vous continuer Oui Non ?").

 

Avec les macros, partez à la conquête d'un monde aux possibilités quasi infinies où heureusement, un enregistreur de macros  facilite votre écriture de code.

 

Générer des mail à partir d'Excel ?

Gérer les fichiers de son ordinateur (création, nom, suppression, déplacement) ?

 

 

Bref, si l'Univers s'ouvre à vous, où s'arrêter pour ne pas aller trop loin ?

 

Dans ce billet, je reste bien sûr dans l'optique de la réalisation d'outil de pilotage ou de simplification de taches,  pérenne, maintenable, sans que son concepteur soit le seul à pouvoir intervenir.

Combien d'entreprises ne maîtrisent plus leurs outils, et finissent par les abandonner alors qu'elles en auraient encore besoin ? 

S'il fallait retenir 2 bénéfices liés à l'utilisation de macros, je dirais :

Gagner du temps, mais pas que :

 L'utilisation de macros permet, en premier lieu, d'automatiser des opérations récurrentes dont les plus célèbres sont les copier/coller.

 

Dans une activité, il y a des rituels :

  • Comptables (remontées de chiffres - traitement et analyses)
  • Pilotage (génération d'indicateurs, de tableaux de bord)
Que de longues heures (si, si, des heures) passées à copier, coller, effacer, supprimer, pour mettre en forme des données !
Que de perles de sueur essuyées au retour de vacances quand quelqu'un d'autre a pris le relai (çà c'est dans le meilleur des cas, l'autre c'est celui où vous ne retrouvez pas la pile de travail laissée à votre départ, et généreusement réactualisée pendant votre "déconnexion") !

 

Améliorer la fiabilité :

 Les macros permettent facilement d'intégrer des vérifications dont nous ne rêvions même pas quand il fallait les faire à la main, comme la cohérence des données à traiter, cohérence des résultats …

Le temps de traitement Excel étant négligeable, les contrôles par prélèvement laissent la place aux vérifications systématiques
Un autre avantage est de pouvoir guider l'utilisateur (messages au fur et à mesure, demandes de saisies d'informations, choix …). Les outils deviennent plus faciles à prendre en main.

Bonnes pratiques pour un bénéfice total :

Vos fichiers Excel ne doivent pas devenir des accélérateurs d'erreur et surtout, comme déjà écrit, ils doivent être évolutifs et pérennes. Ils font partie des outils de votre Activité.
Les quelques règles que je m'impose sont simples, triviales :
  • Ne pas utiliser de macros si je peux faire aussi bien sans
  • Essentiellement traduire des séquences manuelles en macros plutôt que de chercher à optimiser au maximum la macro.  Cela permet de garder le code lisible en cas d'évolution, et aussi d'avoir un mode "dégradé" (si la macro ne fonctionne plus, on peut revenir au manuel)
  • Documenter les macros (lignes de commentaires dans le code)
  • Laisser quelques ajustements possibles par simple paramétrage, en dédiant des cellules  localisées sur une feuille "paramètres" ou "administration".
  • Soigner l'interface utilisateur avec des échanges dynamiques par boites de dialogues.