Excel : Extraire nombre de décimales

Résolu
Elodie -  
 kawtar ben -
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. melanie1324 Messages postés 1561 Statut Membre 156
     
    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
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    En A1 votre nombre décimal avec le format que vous souhaitez... En A2 écrivez :
    =DROITE(CELLULE("format";A1);1)
    1
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re

    en relisant mieux la question peut être ceci

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

    bonne suite
    1
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  7. kawtar ben
     
    nbr de chiffres après virgule

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

    nbr de chiffres avant virgule

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