Accueil | Ce site | CV | Excel | Livre d’or | Macros XL4 | Modèles | VBA

 Bug dans un message d’erreur

En cas d’erreur de syntaxe, la compilation ne peut s’effectuer correctement, et un message d’erreur est affiché. Cependant, comme le démontre l’exemple suivant (figure 1), l’information fournie n’est pas toujours pertinente.


Fig. 1 - L’exemple de code utilisé pour tester les message d'erreur

Si la ligne Next i manque, un message est affiché (figure 2), indiquant clairement l’absence du Next attendu.


Fig. 2 - Message d’erreur obtenu si la ligne “Next i” manque.

Cependant, examinons un exemple légèrement plus complexe, où la boucle For … Next est imbriquée dans un With … End With (figure 3)


Fig. 3 - Un “WithEnd With” a été ajouté au code illustant la figure 1.

Si nous répétons l’erreur précédente, la ligne Next i manquante, le message affiché (Figures 4 et 5) est cette fois erroné : il indique qu’il manque un With. Ce bug est présent dans Excel 97, 98, 2000, 2001 et X. Je n’ai pas encore eu l’occasion de tester la version XP pour Windows.


Fig. 4 - Message d’erreur trompeur dans Excel 98. C’est toujours la ligne “Next i” qui manque.


Fig. 5 - Le même message dans Excel X. Il est également présent dans Excel 97, 2000 et 2001.
Pas encore testé sous Excel XP.

La leçon à tirer de ce message erroné est qu’il faut toujours garder l’esprit critique, et ne pas ajouter une foi aveugle dans les messages censés aider le développeur.