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

 Comment prévenir les messages d’erreur

Préalable

Le terme “Erreur” recouvre en fait 3 catégories :

La première catégorie d’erreurs ne peut pas, bien sûr, être traitée par l’écriture de code VBA. Elle relève d’une amélioration du cahier des charges et/ou d’un surcroît de réflexion de la part du développeur.

La deuxième est en principe réglée à l’issue de la phase de tests.

C’est pourquoi nous nous focaliserons ici sur la troisième catégorie.

Le rôle de l’utilisateur

Un des principes de base quand on réalise un programme destiné à autrui, est de considérer que le comportement des futurs utilisateurs sera varié et que certains auront des réactions absurdes du point de vue de l’auteur.

S’il existe quelque part dans le programme une option clairement déraisonnable dans certaines circonstances, elle sera tout de même utilisée un jour ou l’autre.

Enfin, il faut toujours envisager le fait qu’un programme risque d’être utilisé par un utilisateur stupide et/ou borné.

Voici quelques exemples de comportements à envisager lors de la phase de développement :

  1. Valider un dialogue sans avoir entré les informations attendues
  2. Entrer du texte là ou une valeur numérique est requise
  3. Indiquer une valeur négative pour exprimer une quantité
  4. Lancer une commande qui utilise le nom ou le chemin d’accès du document à partir d’un document non enregistré, donc sans nom, ni chemin d’accès
  5. Saisir des données destinées à alimenter une compta avec une date extérieure à l’exercice

La responsabilité du developpeur

L’utilisateur n’est bien sûr pas le seul responsable possible. Dans de nombreux cas, la cause d’une erreur lors de l’exécution du programme est liée à une situation qui n’a pas été envisagée ou à une mauvaise utilisation des types de données

Prévention des erreurs

Pour chacun des cas, il existe au moins une façon de gérer le comportement de l’utilisateur pour éviter que l’exécution du programme soit interrompue par un message d’erreur, ce qui présente de multiples inconvénients (situation de blocage si le développeur n’est pas immédiatement accessible, perte de la protection des informations, dégradation de l’image du développeur si cela se répète, …)