D’autres personnes utilisent mes classeurs et j’ai une technique simple que j’utilise lors de l’écriture de gestionnaires d’erreurs qui facilite la gestion des problèmes en cas d’échec des macros. Chaque procédure qui est du tout risquée contient une variable de chaîne locale, sOp, dont la valeur est définie pendant le code de macro comme suit:

Dim sOp As String ...



...

sOp = "opening target file"

...



...

sOp = "counting lines already filled"

...



...

sOp = "copying source data table"

...



...

sOp = "saving and closing"

...

Ces déclarations ne sont rien de plus que ce que l’on pourrait mettre sous forme de remarques, mais elles présentent l’avantage que lorsqu’une erreur se produit, l’utilisateur peut être informé de ce qui se passait à ce moment-là. Dans sa forme la plus simple, le gestionnaire d’erreurs doit juste contenir une seule instruction comme celle-ci:

MsgBox "Procedure MyMacro failed while " + vbCrLf + sOp

La valeur de sOp peut également être utilisée pour déterminer l’action suivante (reprise, sortie, etc.). L’utilisation de cette technique dans vos propres macros peut les rendre plus faciles à déboguer et plus conviviales pour les utilisateurs.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2597) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Friendly_and_Informative_Error_Handling [Gestion des erreurs conviviale et informative].