FONCTION TRONQUE

Résolu
HippopotameNostalgique60 Messages postés 13 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -

Bonjour,

J'ai utilisé la fonction TRONQUE pour récupérer le nombre entier (2,00)d'une cellule G6 dans excel mais le résultat obtenu est (1,00). J'aimerais savoir ce qui est à l'origine de ça.

G6 2,00            =TRONQUE (G6) 1,00

Comment faire pour que cette formule me renvoie le nombre entier 2,00 sans utiliser = G6 car s'il s'agira d'un nombre décimal (2,4 par exemple) il doit me retourner que l'entier 2.
Windows / Chrome 129.0.0.0

Merci d'avance

12 réponses

Résumé de la discussion

Le problème provient de la précision flottante: TRONQUE(G6) affiche 1,00 alors que G6 vaut 2,00 en raison d’une approximation binaire pouvant donner 1,999999999 au lieu de 2.
Pour obtenir le nombre entier 2,00 sans référer directement à G6, plusieurs solutions sont proposées, notamment TRONQUE(G6+0,000001;0) ou TRONQUE(A2/B2+0,001;0) afin de corriger l’offset; ou encore l’usage de =ARRONDI(G6;10) ou =ENT(G6).
Dans certains cas, lorsque la valeur résulte d’opérations intermédiaires, l’ajustement léger peut être nécessaire et des cas comme 5,4/2,7 donnent exactement 2,00 mais TRONQUE peut encore renvoyer 1.
L’essentiel est que la représentation en virgule flottante est au cœur du souci et que les solutions consistent à introduire un petit décalage ou à extraire l’entier avec ENT selon le contexte.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717
     

    Et si tu utilises =ent(g6) ?


    Crdlmt

    1
    1. Pierr10 Messages postés 13823 Date d'inscription   Statut Modérateur Dernière intervention   5 837
       

      Salut

      J'ai fait un essai ; ça ne change rien.
       
      Il faut absolument que l'on dispose du fichier pour voir où se situe le problème, comme tu l'as écrit plus loin. 

      0
  2. baladur13 Messages postés 47318 Date d'inscription   Statut Modérateur Dernière intervention   14 386
     

    Bonjour

    Extrait de https://support.microsoft.com/fr-fr/office/tronque-tronque-fonction-8b86a64c-3127-43db-ba14-aa5ceb292721

    La syntaxe de la fonction TRONQUE contient les arguments suivants :

    • nombre    Obligatoire. Représente le nombre à tronquer.

    • no_chiffres    Facultatif. Représente le nombre de décimales apparaissant à droite de la virgule après que le chiffre a été tronqué. La valeur par défaut de no_chiffres est 0 (zéro).


    0
  3. Pierr10 Messages postés 13823 Date d'inscription   Statut Modérateur Dernière intervention   5 837
     

    Bonjour,

    Je ne comprends pas ! Vous devriez avoir quelque chose comme ça : 


    0
  4. danielc0 Messages postés 2180 Date d'inscription   Statut Membre Dernière intervention   287
     

    Bonjour,

    Désolé pour le poste mis en commentaire à Pierr10. To nombre doit être légèrement inférieur à 2. Mets la cellule au format Standard pour le vérifier.

    Daniel


    0
    1. Pierr10 Messages postés 13823 Date d'inscription   Statut Modérateur Dernière intervention   5 837
       

      Bonjour,

      Pas grave ! Je l'ai supprimé !

      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. HippopotameNostalgique60 Messages postés 13 Statut Membre
     

    Bonjour,

    En fait dans mon cas j'ai mis une formule qui divise 5,4 par 2,7 ce qui donne exactement 2,00 et non pas 1,999 comme vous pourriez imaginer.

    Normalement si j'applique la fonction tronque sur le 2,00 je devrais obtenir 2,00 et non pas 1. C'est le 1 que vous voyez en gras qui me perturbe car je devrais pas avoir à la place un 2.

                          
    Type    Bobine    PTL en kg    QRE    NERE    RT en kg    RCB    NEBS
    13,5    2,7            518,40        38,40    38,00    5,40            2,00    1,00
     

    Je ne sais pas comment m'en sortir.

    Vous avez peut être une autre solution alternative à me suggérer.

    Merci d'avance,

    0
    1. danielc0 Messages postés 2180 Date d'inscription   Statut Membre Dernière intervention   287
       

      Bonjour,

      En fait, il arrive qu'il y ait un résultat faux lors d'un calcul. C'est dû au mode de calcul des ordinateurs qui effectuent leurs calculs avec des nombres binaires. Pour effectuer le calcul, ils convertissent les nombres en binaires, calculent et reconvertissent les nombres en décimal. Il arrive que ces conversions donnent des résultats approchés, par exemple 1,999999999 au lieu de 2. Utilise :

      =ARRONDI(G6;10)

      Daniel

      Daniel

      1
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Bonjour

    Tu peux essayer en trichant un peu

    =TRONQUE(A2/B2+0,001;0)

    Cdlmnt

    0
  8. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717
     

    Bonjour à tous,

    la solution viendra surement si tu avais joint ton fichier !



    - - - Un fichier EXCEL (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur lhttps://www.cjoint.com/ , ainsi que ta version d'Excel, permettrait aux intervenants de répondre plus précisément à ta question.
    Crdmt

    0
  9. danielc0 Messages postés 2180 Date d'inscription   Statut Membre Dernière intervention   287
     

    Tu as un moyen très simple de contrôler que G6 n'est pas égal à 2.

    Da une cellule, écris :

    =G6=2

    Tu vas voir que le résultat est FAUX.

    Daniel


    0
  10. HippopotameNostalgique60 Messages postés 13 Statut Membre
     

    j ai mis en ligne le fichier excel

    0
    1. Pierr10 Messages postés 13823 Date d'inscription   Statut Modérateur Dernière intervention   5 837
       

      Très bien !

      Mais comme vous ne donnez pas le lien généré par cjoint, ça ne sert à rien !

      0
  11. HippopotameNostalgique60 Messages postés 13 Statut Membre
     

    Bonjour,

    Désolé

    voici le lien contenant le fichier Excel

    https://www.cjoint.com/c/NJhmnTmT6mm

    Cordialement;

    0
  12. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Bonjour

    La valeur en G6 est obtenue après plusieurs calculs, et comme excel effectue ses calculs avec une douzaine de chiffres significatifs, il obtient un nombre un poil inférieur à 2. La solution proposée plus haut (ajouter un poil à G6) =TRONQUE(G6+0,000001;0) permet de remédier à ce problème

    Cdlmnt

    0
    1. HippopotameNostalgique60 Messages postés 13 Statut Membre
       

      oui maintenant ça marche

      merci

      0
      1. ccm81 Messages postés 11033 Statut Membre 2 434 > HippopotameNostalgique60 Messages postés 13 Statut Membre
         

        Si c'est fini, peux tu mettre le sujet à résolu (en haut dans ton premier message > les trois petits points

        Bonne journée

        0
  13. danielc0 Messages postés 2180 Date d'inscription   Statut Membre Dernière intervention   287
     

    Bonjour à tous,

    @HippopotameNostalgique60 StatutMembre

    Ce qui veut dire que tut n'as pas essayé les propositions des messages 6 et 8 (entre autres).

    Merci.


    0