Arrondi
magnolia01
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
magnolia01 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
magnolia01 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais savoir s'il est possible d'arrondir en 3 positions: inférieur, milieu et supérieur à 2 chiffres après la virgule :
exemple:
14,364 = 14.35
14,405 = 14.40
14,719 = 14,72
Merci par avance!!!
Je souhaiterais savoir s'il est possible d'arrondir en 3 positions: inférieur, milieu et supérieur à 2 chiffres après la virgule :
exemple:
14,364 = 14.35
14,405 = 14.40
14,719 = 14,72
Merci par avance!!!
5 réponses
Bonjour,
Clic droit sur la cellule, puis format de la cellule et tu choisis le nombre de chiffres que tu veux après la virgule
Même chose avec les touches <0,00 ou 0,00> dans le ruban, rubrique nombre
Clic droit sur la cellule, puis format de la cellule et tu choisis le nombre de chiffres que tu veux après la virgule
Même chose avec les touches <0,00 ou 0,00> dans le ruban, rubrique nombre
Bonjour,
Les formules excel, pour arrondir sont :
=ARRONDI
=ARRONDI.INF
=ARRONDI.SUP
Tu dois leur fournir 2 arguments : le montant à arrondir et le nombre de chiffres après la virgule.
Exemple :
=ARRONDI(14,364;2) va te donner 14,36
Après, Excel possède ses règles (qui sont issues des maths). Ainsi 14,405, en arrondi simple, sera arrondi au chiffre supérieur, soit 14,41. Pour obtenir 14,40, il conviendra d'utiliser ARRONDI.INF.
Les formules excel, pour arrondir sont :
=ARRONDI
=ARRONDI.INF
=ARRONDI.SUP
Tu dois leur fournir 2 arguments : le montant à arrondir et le nombre de chiffres après la virgule.
Exemple :
=ARRONDI(14,364;2) va te donner 14,36
Après, Excel possède ses règles (qui sont issues des maths). Ainsi 14,405, en arrondi simple, sera arrondi au chiffre supérieur, soit 14,41. Pour obtenir 14,40, il conviendra d'utiliser ARRONDI.INF.
Y-a-t-il une possibilité de faire avec une fonction SI?
par exemple:
=SI(14.364;2) le resultat = 14.35 (dans ce cas le resultat est arrondi inférieur)
=SI(14.405;2) le resultat = 14.40 (il faudrait que le resultat soit tranquer avec cette condition
=SI(14.719;2) le résultat = 14.72 (dans ce cas le résultat est arrondi suppérieur)
Peut-ont mettre ces conditions dans une fonctions SI, est qu'est(ce que cela donnerais.
Merci
par exemple:
=SI(14.364;2) le resultat = 14.35 (dans ce cas le resultat est arrondi inférieur)
=SI(14.405;2) le resultat = 14.40 (il faudrait que le resultat soit tranquer avec cette condition
=SI(14.719;2) le résultat = 14.72 (dans ce cas le résultat est arrondi suppérieur)
Peut-ont mettre ces conditions dans une fonctions SI, est qu'est(ce que cela donnerais.
Merci
Merci à tous,
Voyez vous, mon patron veut que je trouve une formule unique pour les arrondi...
J'ai bien essayé de chercher avant de poser la question sur le forum...
Comment trouver une formule unique pour 3 type d'arrondi alors qu'on ne peut pas changer la règles des maths???
reponse????
Voyez vous, mon patron veut que je trouve une formule unique pour les arrondi...
J'ai bien essayé de chercher avant de poser la question sur le forum...
Comment trouver une formule unique pour 3 type d'arrondi alors qu'on ne peut pas changer la règles des maths???
reponse????
Donc, une fonction personnalisée disais-je...
Mise en place :
- ouvrir le classeur,
- taper ALT+F11
- Insertion/Module
- copier-coller ce code dans le module ainsi obtenu :
- fermer la fenêtre Visual Basic Editor
Utilisation :
- en cellule A1 (par exemple) saisir : 14,365
- en A2 (par exemple), saisir la formule : =MonPatronAimePasLesMaths(A1;2)
NB : Vous pouvez, à terme, changer le nom de cette fonction, bien entendu ;-)
Mise en place :
- ouvrir le classeur,
- taper ALT+F11
- Insertion/Module
- copier-coller ce code dans le module ainsi obtenu :
Function MonPatronAimePasLesMaths(ByVal Valeur, ByVal Decimales) If Right(Valeur.Value, 1) < 5 Then 'Merci à Patrice 33740 et Lermitte222 'ICI : https://www.commentcamarche.net/faq/29243-vba-vb6-les-fonctions-d-arrondi MonPatronAimePasLesMaths = Int(Valeur.Value * 10 ^ Decimales - 1 / 2) / 10 ^ Decimales ElseIf Right(Valeur.Value, 1) > 5 Then MonPatronAimePasLesMaths = CDbl(Round(Valeur.Value, Decimales)) Else MonPatronAimePasLesMaths = CDbl(Left(Valeur.Value, Len(Valeur.Value) - 1)) End If End Function
- fermer la fenêtre Visual Basic Editor
Utilisation :
- en cellule A1 (par exemple) saisir : 14,365
- en A2 (par exemple), saisir la formule : =MonPatronAimePasLesMaths(A1;2)
NB : Vous pouvez, à terme, changer le nom de cette fonction, bien entendu ;-)
Pardon, erreur dans mes copié-collé....
Utilisez ce code:
et donc, dans la feuille, cette fonction :
=arr(A1;2)
Utilisez ce code:
Function arr(ByVal Valeur, ByVal Decimales) If Right(Valeur.Value, 1) < 5 Then arr = Int(Valeur.Value * 10 ^ Decimales) / 10 ^ Decimales ElseIf Right(Valeur.Value, 1) > 5 Then arr = CDbl(Round(Valeur.Value, Decimales)) Else arr = CDbl(Left(Valeur.Value, Len(Valeur.Value) - 1)) End If End Function
et donc, dans la feuille, cette fonction :
=arr(A1;2)
Merci pour votre aide, j'aurais encore une petite question...
je doit inclure un calcul sur un pourcentage dans ma formule exemple :
=arr(N*n%;2)
En français sa donne ça : exemple :
Remise=(MontantbrutHT*-0.05;2)
Cela doit me donner le résultat de la remise en négatif exemple -32,513€
Et suivant le 3eme chiffre, il faut l'arrondi adequat, d'ou la formule que vous m'avez donnée.
je doit inclure un calcul sur un pourcentage dans ma formule exemple :
=arr(N*n%;2)
En français sa donne ça : exemple :
Remise=(MontantbrutHT*-0.05;2)
Cela doit me donner le résultat de la remise en négatif exemple -32,513€
Et suivant le 3eme chiffre, il faut l'arrondi adequat, d'ou la formule que vous m'avez donnée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
C'est normal que cela ne marche pas tous le temps?
Ben oui. Je suis parti du principe que tu cherchais à arrondir systématiquement un nombre qui possède trois chiffres après la virgule. Ma fonction ne prenait pas en compte les autres cas.
Celle-ci le devrait...
Peux tu, s'il te plait, la tester dans tous les cas possibles et imaginables?
En effet, ce genre de petite fonction peut être utile à d'autres.
Merci d'avance de ton retour.
C'est normal que cela ne marche pas tous le temps?
Ben oui. Je suis parti du principe que tu cherchais à arrondir systématiquement un nombre qui possède trois chiffres après la virgule. Ma fonction ne prenait pas en compte les autres cas.
Celle-ci le devrait...
Peux tu, s'il te plait, la tester dans tous les cas possibles et imaginables?
En effet, ce genre de petite fonction peut être utile à d'autres.
Merci d'avance de ton retour.
Function ArrNbDec(ByVal Valeur, ByVal Decimales) Dim NbDroite As Byte, Separ Separ = Application.International(xlDecimalSeparator) If Len(Valeur) - InStr(Valeur, Separ) > Decimales Then NbDroite = Val(Mid(Valeur, InStr(Valeur, Separ) + Decimales + 1, 1)) Else NbDroite = Right(Valeur, 1) End If If NbDroite < 5 Then ArrNbDec = Int(Valeur * 10 ^ Decimales) / 10 ^ Decimales ElseIf NbDroite > 5 Then ArrNbDec = CDbl(Round(Valeur, Decimales)) Else ArrNbDec = CDbl(Left(Valeur, InStr(Valeur, Separ) + Decimales)) End If End Function
Bonjour,
728.06*(-0.180)=-13.11 ???
Tu travailles en quelle base ?
Et pourquoi 14,364 devrait retourner 14.35 et non 14.36 ?
Sinon par formule :
=SI(ET(DROITE(B2;1)="5";MOD(A2;1));ARRONDI.INF(A2;2);ARRONDI(A2;2))
pijaku, je me demande s'il n'y a pas un pb sur les nombres négatifs pour ta fonction :
=ArrNbDec(-131.0508;2) retourne -131.06
Ce qui mathématiquement est bon. Mais je me demande si elle ne veut pas -131.05.
Si tu pouvais préciser magnolia.
eric
728.06*(-0.180)=-13.11 ???
Tu travailles en quelle base ?
Et pourquoi 14,364 devrait retourner 14.35 et non 14.36 ?
Sinon par formule :
=SI(ET(DROITE(B2;1)="5";MOD(A2;1));ARRONDI.INF(A2;2);ARRONDI(A2;2))
pijaku, je me demande s'il n'y a pas un pb sur les nombres négatifs pour ta fonction :
=ArrNbDec(-131.0508;2) retourne -131.06
Ce qui mathématiquement est bon. Mais je me demande si elle ne veut pas -131.05.
Si tu pouvais préciser magnolia.
eric
Merci de vous pencher sur le sujet sa m'aide beaucoup...
PIJAKU je test a chaque fois tes fonctions sur plusieurs cas pour voir si cela fonctionne.
ERIC et PIJAKU je vais essayer de vous donner un exemple plus parlant:
Je fait actuellement des tableau qui recensent les facture clients et detaillé : dans l'ordre ça donne : Montant brut HT / %de la remise / Montant de la remise / Montant Net ht / tva puis TTC)
exemple avec des chifre : 489.30 (=montant brut ht) 5%(=pourcentage de la remise) -24.46(=le montant de la remise) 464.84(=montant net ht) 91.11(=tva) 55.95(=ttc)
Jusque la j'ai perdu personne???
Donc quand je calcul le montant de la remise à la calculatrice cela me donne -24.465 et mathématiquement si j'arrondi au dixième cela devraits me faire -24.47 mais dans le ca ou il y a un 5 trois chiffres apès la virgule je souhaiterais que le nombre soit tronque et qu'il reste a -24.46.
Pour les arrondi inferieur et supérieur je laisse comme tel c'est a dire que si le troisieme chiffre apres la virugule est supérieur a 5 cela va arrondir a la décimal au decu, idem si c'est inferieur a 5.
Jespere que cela est plus clair.
PIJAKU je test a chaque fois tes fonctions sur plusieurs cas pour voir si cela fonctionne.
ERIC et PIJAKU je vais essayer de vous donner un exemple plus parlant:
Je fait actuellement des tableau qui recensent les facture clients et detaillé : dans l'ordre ça donne : Montant brut HT / %de la remise / Montant de la remise / Montant Net ht / tva puis TTC)
exemple avec des chifre : 489.30 (=montant brut ht) 5%(=pourcentage de la remise) -24.46(=le montant de la remise) 464.84(=montant net ht) 91.11(=tva) 55.95(=ttc)
Jusque la j'ai perdu personne???
Donc quand je calcul le montant de la remise à la calculatrice cela me donne -24.465 et mathématiquement si j'arrondi au dixième cela devraits me faire -24.47 mais dans le ca ou il y a un 5 trois chiffres apès la virgule je souhaiterais que le nombre soit tronque et qu'il reste a -24.46.
Pour les arrondi inferieur et supérieur je laisse comme tel c'est a dire que si le troisieme chiffre apres la virugule est supérieur a 5 cela va arrondir a la décimal au decu, idem si c'est inferieur a 5.
Jespere que cela est plus clair.