Arrondi à deux décimales non fonctionnel

Bonjour,

J'ai un léger problème avec un arrondi sous Excel 2007. Le but est de partir d'un prix US (variable) et de le divisé par trois, pour offrir 3 versements "égaux" qui auront 2 décimales.

Le problème, c'est que si le nombre n'est pas un multiple de 3, il va tout de même l'arrondir à parts égales selon la 3e décimale (+ ou - grand que 5). Ex:

700 / 3 = 233,3333333333. Excel arrondi à 2 décimales de cette façon: 233,33

Toutefois, 233,33 * 3 = 699,99. Il faudrait donc que mon troisième versement donne 233,34 (+0,01) pour obtenir 700,00 rond.

L'exemple avec 800,00 est l'inverse, soit 2 fois 266,67 et troisième versement 266,66 (-0,01) pour obtenir 800,00 rond.

Donc, j'aimerais que le dernier (troisième) versement ajuste la dernière cent en fonction de l'arrondissement, pour avoir + ou - 1 cent dépendamment du montant original.

Voici la première façon que j'ai imaginé:

A1 = 700

B1 = A1/3

C1 = A1/3

D1 = A1-SOMME(B1;C1)

Le but étant d'obtenir 700 - (233,33 + 233,33) = 233,34. Au final, en conservant les 2 décimales seulement, on obtient le 700,00 rond.

Excel est plus brillant que moi, même si je lui demande dans le format de la cellule de conserver uniquement 2 décimales, il se rappel qu'il y en a plus et par conséquent retourne 233,33 à ma formule en D1 (du moins, c'est ce que j'imagine, car logiquement s'il conserve juste 2 décimale dans son calcul, le calcul est erroné).

Je me suis donc dit: je vais "tricker" Excel et aller chercher la dernière décimale en commençant par limiter les caractères par la gauche et ensuite prendre la première à droite (correspondant alors au dernier cent), puis juger si elle est + ou - grande que 4 pour ajouter + ou - 1 cent à la fin.

=SI(DROITE(GAUCHE(B1;6);1)>4;ARRONDI.INF(A1/3;2);ARRONDI.SUP(A1/3;2))

Malheureusement, Excel me retourne encore 233,33.

Pourtant, si je prend une cellule vide (E1), que j'y ajoute le chiffre 3 uniquement et que je place la même formule:

=SI(E1>4;ARRONDI.INF(A1/3;2);ARRONDI.SUP(A1/3;2))

Excel me retourne 233,34 comme prévu.

Au final, peu importe la façon de le traiter, j'aimerais que le troisième versement ajuste la dernière décimale à + ou - 0,01 pour arriver au montant initial à 2 décimales.

Quelqu'un aurait une idée ? Il y a surement une formule quelconque qui ne tiendra pas compte des décimales subséquentes ?

Merci à l'avance !

Bonsoir le forum,

Une proposition sans décimale :

B1 : =ENT($A$1/3)

A tirer à droite (en C1)

D1 : =A1-(B1+C1)

Bonjour,

Merci pour la réponse rapide. J'avais effectivement déjà pensé à cette alternative (nombre entier).. Je commence à me dire que ce serait possiblement plus facile de le gérer ainsi.

Par contre, je laisse le topic ouvert, je serai curieux de voir s'il existe une solution avec les décimales

Merci

Pour les 3 cellules concernées :

Format de cellule : Nombre : Nombre de décimales : 2

B1 : =$A$1/3

A tirer à droite.

D1 :

=A1-(GAUCHE(B1;6)+GAUCHE(C1;6))

Bonjour,

Effectivement, trop évident maintenant Combiner la formule 1 et la formule 2 !

J'ai une problématique résiduelle car le montant total ne retourne pas toujours des nombres à 6 caractères.

Ex: 200.00 / 3 = 66,66 (5 caractère). La formule tiendrait alors compte de la 3e décimale même si elle n'y est pas et retournerait le même résultat.

La solution temporaire que je vois est la suivante:

=A1-(GAUCHE(B1;SI(A1>=300;6;5))+GAUCHE(C1;SI(A1>=300;6;5)))

Bon, je vais faire avec cela pour l'instant.

Merci beaucoup !

Bonjour,

A2: =ARRONDI.AU.MULTIPLE($A$1/3;0.01)

etc...

eric

Rechercher des sujets similaires à "arrondi deux decimales fonctionnel"