Arrondir au demin point supérieur !!

Poupouniko

XLDnaute Nouveau
Bonjour,

Je suis novice et je voudrais savoir comment arrondir un résultat au demi point supérieur svp !!!
Ex:10.2 -> 10.5
10.75 -> 11 etc ...

Merci d'avance.

Cordialement.
 

tototiti2008

XLDnaute Barbatruc
Re : Arrondir au demin point supérieur !!

Bonjour à tous,

Plafond marche trés bien ... pour les nombres positifs (la question ne se pose peut-être pas ici).
si tu gères des nombres négatifs, le mieux serait peut-être :

=ARRONDI.SUP(A1*2;0)/2

à vérifier...
 

yanniglg

XLDnaute Nouveau
Re : Arrondir au demin point supérieur !!

Salut tototiti et Job!
on a quand même un pb avec vos dernières formules : quand j'ai 0,19, je devrais retrouver 0 (arrondi à la demi unité sup) mais je me retrouve avec -0,5...

si vous avez une solution je suis preneur

merci!
 

JCGL

XLDnaute Barbatruc
Re : Arrondir au demin point supérieur !!

Bonjour à tous,

on a quand même un pb avec vos dernières formules : quand j'ai 0,19, je devrais retrouver 0 (arrondi à la demi unité sup) mais je me retrouve avec -0,5...

Si je puis me permettre (sic...)

Il n'a jamais été question de - 0.19... Ce qui, évidement, changerait les formules proposées.

A+ à tous
 

Pièces jointes

  • Arrondi 0.5.zip
    2.1 KB · Affichages: 145

ROGER2327

XLDnaute Barbatruc
Re : Arrondir au demin point supérieur !!

Bonsoir à tous
J'ajoute à la panoplie :
Code:
[COLOR="DarkSlateGray"]=(ENT(2*A1)+(MOD(2*A1;1)<>0))/2[/COLOR]
ROGER2327
#1954
 

Pièces jointes

  • Demi-sup_Comparatif.xls
    15.5 KB · Affichages: 192
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Arrondir au demin point supérieur !!

Bonjour
Comme ces histoires d'arrondis "spéciaux" reviennent souvent, un fonction plus générale peut s'envisager :
Code:
[COLOR="Indigo"][B]Function arr_infsup(v As Double, p As Double, Optional o As Double = 0) As Double
Dim q As Double, r As Double
   v = v - o: q = v / p: r = v * p
   arr_infsup = o + (Fix(Abs(q)) * Sgn(r) + ((q - Fix(q)) <> 0) * (r > 0)) * p
End Function[/B][/COLOR]
Mode d'emploi :
v : valeur à arrondir. (Numérique type Double)
Abs(p) : pas de l'échelle des arrondis. (Numérique non nul type Double)
si p est positif, l'arrondi est calculé supérieurement ;
si p est négatif, l'arrondi est calculé inférieurement.​
o : origine de l'échelle des arrondis. (Facultatif. Numérique positif type Double. Si o est omis, l'origine est zéro.)
__
=arr_infsup(v;p;o) renvoie la valeur v arrondie à Abs(p) près dans une échelle dont l'origine est fixée à o.
Exemples :
(Le séparateur décimal est le point.)
  • =arr_infsup(0.19;0.5) renvoie 0.5
  • =arr_infsup(0.19;-0.5) renvoie 0
  • =arr_infsup(-0.19;0.5) renvoie 0
  • =arr_infsup(-0.19;-0.5) renvoie -0.5
    __
    Dans les quatre exemples qui suivent, l'origine de l'échelle des arrondis est fixée à -1.2. Les paliers sont :
    ... -2.2, -1.7, -1.2, -0.7, -0.2, 0.3, 0.8, 1.3 ...
  • =arr_infsup(0.19;0.5;-1.2) renvoie -0.2
  • =arr_infsup(0.19;-0.5;-1.2) renvoie 0.3
  • =arr_infsup(-0.19;0.5;-1.2) renvoie 0.3
  • =arr_infsup(-0.19;-0.5;-1.2) renvoie -0.2
ROGER2327
#1956
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 444
Messages
2 088 482
Membres
103 867
dernier inscrit
nykostinson