FONCTION TRONQUE

Résolu
-  

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.

Bobot (l’IA à votre service)
  1. Et si tu utilises =ent(g6) ?


    Crdlmt

    1
    1. Modérateur

      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. Modérateur

    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
    1. Modérateur

      Bonjour,

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


      0
      1. 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. Modérateur

          Bonjour,

          Pas grave ! Je l'ai supprimé !

          0
      2. 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. 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
      3. Bonjour

        Tu peux essayer en trichant un peu

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

        Cdlmnt

        0
        1. 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
          1. 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
            1. j ai mis en ligne le fichier excel

              0
              1. Modérateur

                Très bien !

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

                0
            2. Bonjour,

              Désolé

              voici le lien contenant le fichier Excel

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

              Cordialement;

              0
              1. 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. oui maintenant ça marche

                  merci

                  0
                2. @HippopotameNostalgique60

                  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
              2. Bonjour à tous,

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

                Merci.


                0