Arrondir au 9
Fermé
mmaarriijjoo
Messages postés
5
Date d'inscription
jeudi 18 septembre 2014
Statut
Membre
Dernière intervention
2 juin 2015
-
18 sept. 2014 à 20:24
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 19 sept. 2014 à 19:04
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 19 sept. 2014 à 19:04
A voir également:
- Arrondir au 9
- Excel arrondir à 0.5 ✓ - Forum Excel
- Arrondir js ✓ - Forum Javascript
- Internet explorer 9 - Télécharger - Navigateurs
- Token#(mb-9-22) ✓ - Forum Vos droits sur internet
- Filmora 9 - Télécharger - Montage & Édition
3 réponses
Whismeril
Messages postés
18279
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mars 2023
888
18 sept. 2014 à 21:26
18 sept. 2014 à 21:26
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.
Il ne te reste qu'à la programmer en VBA.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
Modifié par pijaku le 19/09/2014 à 16:02
Modifié par pijaku le 19/09/2014 à 16:02
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 🎶
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 🎶
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
19 sept. 2014 à 16:13
19 sept. 2014 à 16:13
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
19 sept. 2014 à 16:30
19 sept. 2014 à 16:30
Et encore une avec le choix de la décimale arrondie :
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)
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)
Whismeril
Messages postés
18279
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mars 2023
888
19 sept. 2014 à 17:32
19 sept. 2014 à 17:32
Salut pijaku!
--
--
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
19 sept. 2014 à 19:04
19 sept. 2014 à 19:04
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
"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,09devrait faire l'affaire, sans avoir besoin de VBA...
19 sept. 2014 à 15:45
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