Excel : Extraire nombre de décimales
Résolu
Elodie
-
kawtar ben -
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
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
-
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) -
Bonjour,
En A1 votre nombre décimal avec le format que vous souhaitez... En A2 écrivez :
=DROITE(CELLULE("format";A1);1)
-
re
en relisant mieux la question peut être ceci
N17=NBCAR(DROITE(M17;NBCAR(M17)-CHERCHE(",";M17)))
bonne suite -
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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.. -
nbr de chiffres après virgule
=NBCAR(D8)-CHERCHE(",";D8)
nbr de chiffres avant virgule
=NBCAR(D8)-((NBCAR(D8)-CHERCHE(",";D8))+1)