Arrondir au 0,05 ou 0,09 inférieur

Bonjour,

Je souhaite arrondir des prix aux 0,05 ou 0,09 inférieur, donc si le dernier chiffre est 5 ou 9 il ne faut rien changer.

Par exemple si le dernier chiffre du prix est compris entre 5 et 9 ( 5>X>9) alors il faut arrondir au 0,05 inférieur. Par exemple avec 123,87, le prix doit être arrondi à 123,85.

Si le dernier chiffre du prix est compris entre 0 et 5 (0>X>5) alors il faut arrondir au 0,09 inférieur. Par exemple avec 123,82, le prix doit être arrondi à 123,79.

J'ai commencé une formule conditionnelle qui marche très bien si le dernier chiffre est compris entre 5 et 9, mais pas s'il est compris entre 0 et 5.

La voici :

=SI(ET(DROITE(B2;1)>"5";DROITE(B2;1)<"9");PLANCHER(B2;0,05);SI(ET(DROITE(B2;1)>="0";DROITE(B2;1)<"5");PLANCHER(B2;0,09);B2))

Par exemple avec 96,66 dans B2 le résultat est 96,65 c'est donc OK.

Mais avec 579,92 dans B2 le résultat est 579,87 ce qui n'est pas bon puisqu'il devrait afficher 579,89.

Sauriez-vous d'où vient le problème ? Est-ce que j'ai mal choisi la fonction pour arrondir ?

Merci d'avance pour votre aide.

Cordialement

Neurex

Bonjour,

Essaie ainsi :

=PLANCHER(B2;0,05)-(MOD(PLANCHER(B2;0,05)*100;10)=0)*0,01

Cordialement.

Merci c'est parfait cela arrondi comme il faut sauf pour deux ou trois qui sont arrondi à 0,00 par exemple 23,30 mais il suffit juste de soustraire 0,01 et c'est bon

Merci beaucoup pour le gain de temps quotidien que tu me fais gagner !!

tu3mfsb

En fait c'est uniquement pour les nombres tels que

77,33

579,33

etc.

Tous ceux qui finissent par ***,13 ou ***,33 ou ***,43 ou ***,63 ou ***,83 ou ***,93 ils sont arrondis à ***,10 ou ***,30 etc. Enfin de ce que j'ai pu constater Mais c'est une minorité donc facilement gérable !

Merci encore

arrondi

Je rencontre moi aussi un souci !

Re,

J'ai modifié à la marge la formule de MFerrand :

=PLANCHER(B1;0,05)-(ARRONDI(MOD(PLANCHER(B1;0,05)*100;10);0)=0)*0,01

A tester !

Re,

Et pour solutionner le cas du 9 en tant que deuxième chiffre après la virgule :

=SI(MOD(B4*10;1)=0,9;B4;PLANCHER(B4;0,05)-(ARRONDI(MOD(PLANCHER(B4;0,05)*100;10);0)=0)*0,01)

Je n'ai eu qu'un seul cas (terminaison par ,73)... C'est certainement lié à une valeur qui lors d'un stockage intermédiaire en binaire donne un nombre à nombre de décimales infini et donc tronqué, ce qui produit un écart faisant basculer le test...

L'arrondi du PLANCHER * 100 devrait régler ce problème d'écart, comme déjà suggéré...

=PLANCHER(B2;0,05)-(MOD(ARRONDI(PLANCHER(B2;0,05)*100;0);10)=0)*0,01

Rechercher des sujets similaires à "arrondir inferieur"