Différence fausse

0

Bonjour,

Pour faire la différence entre deux nombres de deux cellules A1 et A2, en l’occurrence 51 719.35 et 51 408.60 et , je crée dans une autre cellule la formule =A1-A2. Le résultat trouvé, qui devrait être 310.75, est  alors 310,749999999985 ! Je précise que les nombres en A1 et A2 sont récupérés par des liens dans d'autres cellules mais les décimales après les centièmes y sont toujours des 0.  Si je remplace les nombres en A1 et A2 par les mêmes nombres saisis à la main, la différence se calcule alors correctement. Quelqu'un a-t-il une idée d'où peut venir cela ? Merci.

    Posté le 19 mars 2018, 04:11
    par Huggy
    Répondre
    0

    Bonjour,

    Je précise que les nombres en A1 et A2 sont récupérés par des liens dans d'autres cellules mais les décimales après les centièmes y sont toujours des 0


    Fais un test et pousse les décimales avec une quinzaine de chiffre après la virgule, tu verras le pourquoi du comment

    Posté le 19 mars 2018, 06:20
    0

    Bonjour Huggy,

    Ce que veut dire le précédent intervenant c'est que, lors du transfert de nombre en provenance d'autres applications, il arrive parfois que de petites anomalies se passent et que des décimales lointaines et sans impact réel et non visibles soient transférées.  En augmentant le nombre de décimales dans "format" tu verras ces petites anomalies apparaître.  

    Excel a de nombreux automatismes qui sont le plus souvent très utiles mais sont parfois gênants.  Dans ce cas de figure, croyant bien faire, il adapte automatiquement le format de la cellule contenant la différence, au nombre de décimales trouvées dans les cellules sources.

    Pour voir s'il y a moyen d'y remédier à la source, il faudrait que tu nous communiques le fichier source et voir comment tu transfères les données.  Dans ton cas, il est plus que probable que ton fichier source contient ces nombres sous format "texte" et tu les transfères donc également sous format "texte" dans Excel.  C'est sous cette forme qu'Excel, qui malgré tout accepte d'effectuer le calcul car il reconnaît que ce "texte" est un nombre mais il tient compte de toutes les décimales.

    Toutefois, il y a moyen d'éviter cela d'autres façons :

    1 tu définis le format de la cellule contenant la formule avec 2 décimales.  Ainsi le nombre apparaissant dans la cellule sera bien 310.75 MAIS les décimales lointaines seront toujours présentes dans la cellule et s'il y a des calculs ultérieurs, elles continueront à polluer les résultats.

    2 tu adaptes ta formule de calcul de la manière suivante : =ARRONDI(A1-B1;2).  De cette manière le résultat sera de 310.75 sans décimale parasite et tu pourras utiliser ce nombre dans des formules ultérieures sans être gêné.

    A+

    Chris

    CHRIS Posté le 19 mars 2018, 10:30
    par CHRIS

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :