Excel : Extraire nombre de décimales

Résolu
Bonjour,

Je voudrais pouvoir extraire le nombre de décimales affichées et non réelles.
Je m'explique :
Je rentre dans une cellule 0.517683
Je fais afficher 0.52 (2 chiffres après la virgule) mais pour les calculs il utilise 0.517683
je fais afficher 0.518 (3 chiffres après la virgule) mais pour les calculs il utilise 0.517683

Je voudrais obtenir le 2 et le 3 respectivement (nombre de chiffres après la virgule) dans d'autres cellules.
Quelqu'un sait-il comment faire ?

Merci d'avance.

Elodie

6 réponses

  1. Bonjour,

    utilise la fonction arrondi :

    =arrondi(A2;2) pour 2 chiffres
    = arrondi (a2;3) pour 3

    si c'est avec formule :
    =arrondi(somme(a1:a2);2)
    1
    1. Modérateur
      Bonjour,
      En A1 votre nombre décimal avec le format que vous souhaitez... En A2 écrivez :
      =DROITE(CELLULE("format";A1);1)
      1
      1. re

        en relisant mieux la question peut être ceci

        N17=NBCAR(DROITE(M17;NBCAR(M17)-CHERCHE(",";M17)))

        bonne suite
        1
        1. bonjour

          le pb c'est que le nombre de décimales affichées (hors formatage ou arrondi) dépend de la largeur de la colonne et de la taille de la police

          donc la cellule doit etre soit formatée soit calculée avec arrondi comme le propose melanie, et le pb ne se pose plus

          bonne suite
          0
          1. Contributeur
            Bonsoir tout le monde,

            Ben tant qu'on y est, on peut avoir une 3ème lecture : donner le nombre de décimales affichées en tenant compte du format de cellule.

            Une fonction personnalisée en vba :
            Function nbDecimales(c As Range) As Integer 
                Application.Volatile 
                Dim f As String 
                f = c.NumberFormatLocal 
                If InStr(f, ".") > 0 Then 
                    nbDecimales = Len(Split(c.NumberFormatLocal, ".")(1)) 
                ElseIf f = "Standard" Then 
                    f = c 
                Else 
                    f = "." 
                End If 
                nbDecimales = Len(Split(f, ".")(1)) 
            End Function


            eric

            edit : mais je pense que l'interprétation de mélanie est la bonne..
            0
            1. nbr de chiffres après virgule

              =NBCAR(D8)-CHERCHE(",";D8)

              nbr de chiffres avant virgule

              =NBCAR(D8)-((NBCAR(D8)-CHERCHE(",";D8))+1)
              0