Arrondir au 9

mmaarriijjoo Messages postés 5 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

J'aimerais savoir si sa l'existe une formule dans exel

ex: je veux arrondir ma deuxieme decimale a 9

mon resultat serait 19.14 sa arrondirais a 19.19

????

Merci

3 réponses

  1. Utilisateur anonyme
     
    Bonsoir, étant donné que c'est mathématiquement erroné comme arrondi, il est plus qu'improbable qu'Excel propose une telle fonction.
    Il ne te reste qu'à la programmer en VBA.
    0
    1. Utilisateur anonyme
       
      Vite fait un truc comme ça:
      Function ArrondiA9(Valeur As Double, NbreChiffreApresVirgule As Integer)
          'on commence par tronquer au monbre de decimales choisie - 1
          Dim tronq  As Double
          tronq = Tronquer(Valeur, NbreChiffreApresVirgule - 1)
          'puis on ajouter  9 * 10^-NbreChiffreApresVirgule
          ArrondiA9 = tronq + 9 / 10 ^ NbreChiffreApresVirgule
      End Function
      
      Function Tronquer(Valeur As Double, NbreChiffreApresVirgule As Integer) As Double
          'trunc() n'existe pas en VBA alors on la refait
          Dim entier As Integer
          entier = Int(Valeur * 10 ^ NbreChiffreApresVirgule) 'si j'ai 0.123456789 et que je veut 4 chiffres, alors je multiplie par 10^4 => 1234.56789 et en prends la valeur entière => 1234
          Tronquer = entier / 10 ^ NbreChiffreApresVirgule 'ensuite je redivise pas 10^4
      End Function
      0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Salut Whismeril,

    @mmaarriijjoo : Quid de 19.20? arrondi à 19.29 ou à 19.19?

    EDIT : Si toujours arrondi au sup, par formule :
    =CNUM(GAUCHE(A1;CHERCHE(".";A1)+1)&9)
    le "." doit être remplacé par le bon séparateur (ça peut être une virgule)

    🎼 Cordialement,
    Franck 🎶
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Et juste pour le fun, cette formule, en VBA, nous donne la fonction personnalisée suivante :

      Function Arrondi_Au_9_Sup(Cel As Range) As Double
       Arrondi_Au_9_Sup = CDbl(Left(Cel.Value, InStr(1, Cel.Value, ",") + InStr(1, Cel.Value, ".") + 1) & 9)
      End Function
      0
    2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Et encore une avec le choix de la décimale arrondie :
      Function Arrondi_Au_9_Sup(Cel As Range, NbDecimales As Byte) As Double
       Arrondi_Au_9_Sup = CDbl(Left(Cel.Value, InStr(1, Cel.Value, ",") + InStr(1, Cel.Value, ".") + NbDecimales - 1) & 9)
      End Function

      Dans la feuille Excel, pour ton exemple :
      =Arrondi_Au_9_Sup(A1;2)
      avec bien sur le nombre à arrondir en A1

      Pour arrondir 10.114 à 10.119 :
      =Arrondi_Au_9_Sup(A1;3)
      0
    3. Utilisateur anonyme
       
      Salut pijaku!

      --
      0
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    "Quid de 19.20? arrondi à 19.29 ou à 19.19?"
    Etant donné l'exemple "19.14 sa arrondirais a 19.19" je dirais que
    =TRONQUE(A1;1)+0,09
    devrait faire l'affaire, sans avoir besoin de VBA...
    0