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

melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
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
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
En A1 votre nombre décimal avec le format que vous souhaitez... En A2 écrivez :
=DROITE(CELLULE("format";A1);1)
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
re

en relisant mieux la question peut être ceci

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

bonne suite
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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

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

Posez votre question
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
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