Messages d erreurs Qui n a pas entendu comme réponse à des informations erronées, la phrase suivante : «C est la faute à l ordinateur!» Un ordinateur ne peut pas faire d erreurs s il fonctionne correctement. Les sources de mauvais résultats sont de 2 ordres : 1 le raisonnement sous jacent au traitement des données présente des faiblesses 2 l utilisateur introduit de mauvaises données ou des données incohérentes. Un tableur signale une erreur lorsqu'il lui est impossible d'interpréter ou de calculer une formule. Des erreurs peuvent être détectées au niveau de la syntaxe, des types, de l'évaluation ou de la cohérence générale de la feuille de calcul. Sept messages d erreurs peuvent apparaître dans Excel. #NUL!, #DIV/0!, #VALEUR!, #REF!, #NOM?, #NOMBRE! et #N/A. Open Office reprend certains codes de messages (#VALEUR!, #REF!, #NOM?) mais génère le plus souvent des codes d'erreurs sous forme numérique. L aide en ligne permet d obtenir des explications complètes sur les causes d apparition de tels messages. Nous allons, pour notre part, tenter de présenter leur contexte d apparition le plus fréquent. La division par Zéro : #DIV/0! : err:503 Dans le cas de la division par zéro, le tableur ne provoquera pas d'erreur et ne plantera pas : il donnera «#DIV/0!» ou err:503 comme résultat (c'est à dire une valeur non numérique). Pour des raisons de cohérence, cette valeur peut servir quand même dans d'autres calculs, mais donnera toujours la valeur «#DIV/0!» comme résultat. Version Excel Version Open Office Dans cet exemple, tant que l utilisateur n aura pas rentré les valeurs des variables I et N, les résultats des formules de calcul de A et de m afficheront le message d erreur #DIV/0! Pour éviter cet affichage, il faut que le concepteur de la formule, ne déclenche le calcul qu à partir du moment où les valeurs des variables I et N sont renseignées. Le tableur met à la disposition de l utilisateur une fonction ESTVIDE qui permet de tester la présence des données dans une cellule. Dans cet exemple, le message d erreur apparaît si I ou N ne sont pas saisis. Il faut donc tester ces deux possibilités. Jacques Chambon 1/6
Largeur de colonne ou dépassement de valeur : ######## La colonne 1 indique la formule qui a été frappée en colonne 2. Pour faire apparaître les valeurs qui se trouvent sous les dièses, il suffit d élargir la colonne 2. La valeur 125 365,50 apparaît bien en rose, alors que les dièses noirs restent des dièses quelle que soit la largeur de la colonne2. Ils signifient à l utilisateur que le résultat obtenu se trouve en dehors des plages de validité gérés par Excel. Les dates doivent être comprises entre le 1/1/1900 et le 31/12/9999. Open Office gère les dates différemment. Il n'existe pas de dates non valides. Les dates antérieures à 1900, seront interprétées comme des dates du 21 ème siècle. 31/12/99 sera comprise comme le dernier jour de l'année 2099. Mauvais type de donnée : #VALEUR! Une erreur classique que l on trouve souvent chez les débutants est de confondre le nom d étiquette de données avec le nom de la donnée elle même. Dans l exemple suivant, la formule de calcul de la fréquence cardiaque maximale lors d un effort est de 220 age. Au lieu de pointer sur la valeur 220 en L9C6, l utilisateur a pointé l étiquette en L9C5. Le message d erreur #VALEUR! indique que l un des opérandes du calcul contient du texte et que le tableur ne sait pas résoudre l opération 16 * «maxi fréquence». Dans Open Office, les cellules contenant du texte prennent la valeur 0, lorsqu 'elles sont sollicitées dans une formule de calcul. Il n'y aura pas en l'occurrence de message d'erreurs, mais un calcul au résultat surprenant. Les noms de cellule non définis : #NOM? La formule de calcul de la remise fait ici référence au nom «Cod», qui n a pas été défini comme le montre le Dictionnaire. Pour éliminer le message d erreur, il suffit de nommer «Cod», la plage de cellules L40C1 :L43C1. Jacques Chambon 2/6
La recherche hors tableau : #N/A! Comment rendre plus explicite le message d erreur? Dans l exemple précédent, le taux de remise dépend du code. Une table de référence permet de calculer ce taux. En L28C1, l utilisateur s est trompé en introduisant le code. Il a frappé la valeur 6, qui n est pas un code valide. Le résultat est #N/A! Il suffit de tester si la recherche renvoie le message d erreur #N/A! Le tableur vous fournit à cet effet une fonction ESTNA(). =SI(ESTNA(RECHERCHEV(Code;table_remise;2;FAUX)) ;"Mauvais Code";RECHERCHEV(Code;table_remise;2;FAUX)) Comment contraindre l utilisateur à frapper l un des codes valides? En utilisant la commande de validation ou validité du menu Données. Vous trouverez des compléments d informations dans la ressource Contrôle des données. Jacques Chambon 3/6
Suppression de certaines cellules : #REF! L exemple précédent propose de calculer les intérêts composés d un emprunt. Les formules du corps du calcul (à partir de la ligne4) font référence aux valeurs de la ligne 1 et 2. La suppression de ces 2 lignes génère l écran suivant. Mauvais argument de fonction : #NOMBRE! Dans cet exemple, l appel à la fonction du taux de rentabilité interne (TRI) nécessite une plage de valeurs en argument. Seule une cellule est indiquée dans la formule! Dans Open Office, c'est l'erreur 504 qui apparaît. En passant les bons arguments, l erreur disparaît. Jacques Chambon 4/6
#NUL! L espace est considéré comme un opérateur d union par Excel. En écrivant Somme( X Z) le tableur fait la somme des valeurs qui se trouvent à la fois dans Z et dans X. Par contre la somme(x Y) donne le message d erreur #NUL!, puisqu il n existe aucune valeur commune entre les plages de cellules X et Y. Dans Open Office ce type d'erreur est répertorié sous le code 508. Il possible de tester les types d erreur avec deux fonctions intégrées TYPE.ERREUR et ESTERREUR. Utilisez l aide du tableur pour en connaître la syntaxe. Références Circulaires On appelle référence circulaire une formule qui fait appel au résultat de la cellule contenant la formule elle même. Dans les exemples qui suivent la formule qui figure en L3C4, est un grand classique. La somme demandée s appelle elle même (LC). Excel ne peut résoudre ce genre de calcul : c est une référence circulaire. Il faut changer la formule en =SOMME(LC(-2) :LC(-1)) Jacques Chambon 5/6
Il en est de même pour la formule L7C4 qui fait appel à des noms et pourrait s écrire RESUL = RESUL/VA. Quant au formule de la ligne 10, elles s appellent mutuellement, la flèche doublement orientée, le met bien en évidence. Open Office gère les références circulaires de la même façon qu'excel. Le code généré est 522. Audit Pour mettre en évidence les références circulaires, le tableur met à votre disposition la commande «Outils / audit» ou la barre d outils «Référence Circulaire». Quel que soit votre choix, vous pourrez obtenir une visualisation graphique des dépendances de cellules. Les dépendances sont mises en évidence par les flèches qui apparaissent dans l exemple de cette page. Jacques Chambon 6/6