Analyseur de code VBA – Rubberduck

Les macros sont très utilisées en entreprise. Mais quand vous travaillez sur des macros que vous n'avez pas vous-même écrites, l'utilisation d'un analyseur de code VBA va vous facilité dans la compréhension du code.

Actuellement, le meilleur analyseur de code sur le marché (et gratuit en plus) c'est Rubberduck.

C'est quoi Rubberduck ?

Rubberduck est un outil open source qui permet l'analyse du code VBA de vos projets. Vous le téléchargez depuis le site GitHub.

Le projet est dirigé par Mathieu Guindon (MVP Excel 😎) qui y travaille, avec un groupe d'une douzaines de contributeurs, depuis de nombreuses années. Pour obtenir les dernières sources béta, il vous suffit de cliquer sur le bouton Releases sur le site GitHub.

Interface GitHub pour télécharger les dernières mises à jour de Rubberduck

Comment ça marche ?

Après l'installation de Rubberduck, vous avez un nouveau menu qui apparaît dans le Visual Basic Editor. Seulement, au démarrage, tous les menus sont grisés 🤨😕

Menu Rubberduck avec les menus en grisés (pour l'instant)

En fait, pour commencer à travailler avec cet outil, il faut commencer par le lancer. Pour cela, il faut cliquer sur le bouton "En attente" dans la barre d'icônes.

Bouton "En attente" dans la barre d'icônes

Le fait de cliquer sur ce bouton "En attente" va lancer un certains nombres de processus d'analyse.

Vous pouvez suivre l'avancé de ces processus dans la barre d'icônes.

Le traitement prend plus ou moins de temps selon la taille de votre projet. Quand c'est terminé, un bouton "Prêt" s'affiche alors dans la barre d'icônes.

A la fin du processus, tous les menus sont  accessibles 😃

Il n'y a plus de menus grisés
 

Indenter automatiquement le code

Ce qui rend un code particulièrement illisible c'est qu'il n'est pas indenté. Indenter un programme signifie que le contenu d'une boucle ou d'une condition est écrit en retrait par rapport au niveau supérieur.

Pour vous éviter de devoir rajouter des tabulations manuellement partout pour indenter votre code, Rubberduck est la solution.

  • Activer le menu Rubberduck > Indenter
  • Sélectionner dans le menu Indenter soit
    • la procédure courante (là où est votre curseur)
    • le module courant
    • tout votre projet (tous les modules)

En une seule action, tout votre code est indenté 😍😍😍

Analyse du code

Un autre intérêt de cet outil c'est d'analyser votre code et de vous aider à le corriger ou l'améliorer facilement 😮❤

  • Activer le menu Rubberduck > Inspections

La fenêtre s'ouvre immédiatement car l'analyse a déjà été faite quand vous avez cliqué sur le bouton "En attente"

Quand vous double-cliquez sur l'une des lignes de l'inspection, Rubberduck se positionne à cet endroit dans le code. Vous avec donc la ligne de code en arrière-plan et la boite de dialogue "Inspection" qui reste visible au premier plan. C'est très astucieux 😎

Pour comprendre la raison pour laquelle l'outil vous conseille une modification ou une correction, il vous suffit de cliquer sur le bouton "Régler".

De cette façon, vous pouvez accepter, ou pas, la correction proposée.

Près de 75 règles de codage sont répertoriées. Si vous souhaitez que Rubberduck n'en prennent pas certaines en compte dans l'analyse, il vous suffit de changer les paramètres en cliquant sur la molette à droite (tout à droite du bouton "Régler")

Pour changer une règle, il vous suffit de

  1. Sélectionner le menu Inspection
  2. Choisir l'une des options
  3. Double-cliquez sur le statut d'une règle pour le modifier

Saisie intelligente

Tous les blocs ont été fermés automatiquement

La dernière version de Rubberduck est enrichie d'une fonctionnalité déjà intégrée ; la saisie intelligente.

En fait, quand vous saisissez le début d'une instruction, comme If, While, For ou autre, Rubberduck écrit automatiquement l'instruction de fin.

Par exemple, si vous écrivez If, automatiquement End If va être ajouté automatiquement. Comme cela, il n'y a plus d'erreur de compilation du code si un bloc n'est pas fermé.

Articles complémentaires


Voici une liste d'articles qui pourrait également vous intéresser sur le même thème.

Lien Permanent pour cet article : https://www.excel-exercice.com/analyseur-de-code-vba-rubberduck/


Laisser un commentaire

Your email address will not be published.