Arrondir à 0, 5 et 9

Résolu
Valo -  
 Valo -
Bonjour,

J'ai souhaite savoir comment faire sur Excel (2007) pour avoir une valeur qui se termine systématiquement par 0, par 5 ou par 9 sur la deuxième décimale.

Exemple :
3.46 --> 3.45
7.81 --> 7.80
15.17 --> 15.19

Voici ce que je dois toujours obtenir sur le deuxième décimale en fonction de la valeur de celle-ci:

0 --> 0
1 --> 0
2 --> 0
3 --> 5
4 --> 5
5 --> 5
6 --> 5
7 --> 9
8 --> 9
9 --> 9

Je dois intégrer ça dans des calculs simples (+ - / *)
Exemple : 3.21*4=12.84 --> 12.85

Merci de votre aide.

8 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    essayez cette formule (pour une valeur en A1)
    =ENT(A1)+SI(A1-ENT(A1)<=0;0;SI(A1-ENT(A1)<=0,6;0,5;0,9))

    et si bien sur en A1 vous avez une formule remplacez A1 ici par cette formule pour obtenir directement un résultat
    crdlmnt
    1
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour à tous les deux

    1. Un petit correctif à la formule de Vaucluse, mais je crois que ça ne règle pas tout
    =ENT(A1)+SI(A1-ENT(A1)<=0,2;0;SI(A1-ENT(A1)<=0,6;0,5;0,9))
    2. Ce que j'avais tenté
    Ta valeur à traiter en G4
    Dans une cellule formatée avec 2 chiffres décimaux
    =ENT(ARRONDI(G4;2)*10)/10+CHOISIR(1+MOD(100*ARRONDI(G4;2);10);0;0;0;5;5;5;5;9;9;9)/100

    Cdlmnt
    1
  3. Valo
     
    Ça marche parfaitement bien !!!

    Merci beaucoup.

    Merci à tous pour votre contribution !!!

    Cordialement,
    1
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Essaies celle là
    =ENT(ARRONDI(G5;2)*10)/10+INDEX({0;0;0;5;5;5;5;9;9;9};1+MOD(100*ARRONDI(G5;2);10))/100

    Cdlmnt
    1
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      D'après ton idée, sur le même principe :
      =ENT(ARRONDI(A2;2)*10)/10+INDEX({0;5;9};MOD(ENT(A2*30+0,11);3)+1)/100
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    juste pour la forme

    effectivement, je me suis trompé d'un étage, j'ai travaillé sur la 1° décimale plutôt que sur la seconde.

    pour la seconde décimale, c'est là, mais ça ne vaut pas la solution de Patrice,(salut mon ami) donc c'est juste pour dire que je n'ai pas tout raté! :-)))

    =ENT(A1*10)/10+(SI((A1*10-ENT(A1*100/10))*10<3;0;SI((A1*10-ENT(A1*100/10))*10<7;5;9)))/100
    ça donne ça
    https://mon-partage.fr/f/JUfg29bY/
    crdlmnt

    La qualité de la réponse dépend surtout de la clarté de la question, merci!
    1
  7. Valo
     
    Bonjour,

    Merci pour cette réponse.
    Cependant, cela ne marche que sur la première décimale et non sur la deuxième, et on a une erreur sur le passage au 0:

    2.00 --> 2.00
    2.10 --> 2.50 (au lieu de 2.00)
    2.20 --> 2.50 (au lieu de 2.00)
    .
    .
    .
    .
    0
  8. Valo
     
    Super ça fonctionne !!! (la deuxième formule)
    Merci beaucoup!

    Un simple effet probablement du à l'arrondi:
    1.03 --> 1.05 (ok)
    2.03 --> 2.00 (au lieu de 2.05)
    Mais ça ne me semble pas grave pour ce que j'ai à faire.

    Merci encore !!!
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      Bonjour,

      C'est effectivement un problème d'arrondi !
      Essaies :
      =ENT(ARRONDI(A2;2)*10)/10+CHOISIR(1+MOD(ENT(100*ARRONDI(A2;2));10);0;0;0;5;5;5;5;9;9;9)/100
      0