Arrondi
Fermé
magnolia01
Messages postés
20
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
-
2 juil. 2013 à 11:33
magnolia01 Messages postés 20 Date d'inscription mardi 2 juillet 2013 Statut Membre Dernière intervention 4 juillet 2013 - 4 juil. 2013 à 15:54
magnolia01 Messages postés 20 Date d'inscription mardi 2 juillet 2013 Statut Membre Dernière intervention 4 juillet 2013 - 4 juil. 2013 à 15:54
5 réponses
Utilisateur anonyme
2 juil. 2013 à 11:39
2 juil. 2013 à 11:39
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
2 juil. 2013 à 11:40
2 juil. 2013 à 11:40
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.
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
Modifié par eriiic le 2/07/2013 à 12:00
Modifié par eriiic le 2/07/2013 à 12:00
Bonjour à tous,
pijaku, je pense que tu voulais dire Ainsi 14,45, en arrondi simple, sera arrondi au chiffre supérieur, et non 14.405.
eric
pijaku, je pense que tu voulais dire Ainsi 14,45, en arrondi simple, sera arrondi au chiffre supérieur, et non 14.405.
eric
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
2 juil. 2013 à 12:55
2 juil. 2013 à 12:55
Salut Eriiic,
Comment va?
non non, je voulais bien dire 14,405. Il est question ici d'arrondis au centième. Soit :
=ARRONDI.INF(14,405;2) => 14,40 (afiché par excel 14,4)
=ARRONDI(14,405;2) => 14,41
=ARRONDI.SUP(14,405;2) => 14,41
Un p'tit café peut être???
;-)
Comment va?
non non, je voulais bien dire 14,405. Il est question ici d'arrondis au centième. Soit :
=ARRONDI.INF(14,405;2) => 14,40 (afiché par excel 14,4)
=ARRONDI(14,405;2) => 14,41
=ARRONDI.SUP(14,405;2) => 14,41
Un p'tit café peut être???
;-)
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
2 juil. 2013 à 13:13
2 juil. 2013 à 13:13
Un p'tit café peut être???
ah ben oui, je veux bien :-)
eric
ah ben oui, je veux bien :-)
eric
magnolia01
Messages postés
20
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
2 juil. 2013 à 14:24
2 juil. 2013 à 14:24
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
magnolia01
Messages postés
20
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
2 juil. 2013 à 13:47
2 juil. 2013 à 13:47
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????
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
2 juil. 2013 à 14:24
2 juil. 2013 à 14:24
Comment trouver une formule unique pour 3 type d'arrondi alors qu'on ne peut pas changer la règles des maths???
reponse????
En créant une fonction personnalisée.
Je me penche sur ton cas et reviens tout à l'heure.
reponse????
En créant une fonction personnalisée.
Je me penche sur ton cas et reviens tout à l'heure.
magnolia01
Messages postés
20
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
2 juil. 2013 à 14:43
2 juil. 2013 à 14:43
Merci
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
2 juil. 2013 à 14:59
2 juil. 2013 à 14:59
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 ;-)
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
2 juil. 2013 à 15:22
2 juil. 2013 à 15:22
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)
magnolia01
Messages postés
20
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
2 juil. 2013 à 15:44
2 juil. 2013 à 15:44
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.
magnolia01
Messages postés
20
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
2 juil. 2013 à 15:50
2 juil. 2013 à 15:50
j'espere avoir été clair dans mes explications.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
2 juil. 2013 à 16:01
2 juil. 2013 à 16:01
En A1 : 18.32*(-0.05) [MontantBrutHT*Taux)
En A2 : =arr(A1;2)
Non???
En A2 : =arr(A1;2)
Non???
magnolia01
Messages postés
20
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
2 juil. 2013 à 16:13
2 juil. 2013 à 16:13
pas exactement....
En A1 : =arr(18.32*(-0.05);2)
En A1 : =arr(18.32*(-0.05);2)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
3 juil. 2013 à 09:55
3 juil. 2013 à 09:55
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
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
Modifié par eriiic le 3/07/2013 à 10:55
Modifié par eriiic le 3/07/2013 à 10:55
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
3 juil. 2013 à 11:23
3 juil. 2013 à 11:23
Salut Eriiic,
Merci de l'intervention...
En fait, je n'ai pas trop le temps de tout tester, donc je laisse les tests à Magnolia et améliore la fonction au fur et à mesure...
Pour ce qui est de 728.06*(-0.180), j'ai cru comprendre qu'il s'agit en fait de : 728.06*(-0.0180)
Merci de l'intervention...
En fait, je n'ai pas trop le temps de tout tester, donc je laisse les tests à Magnolia et améliore la fonction au fur et à mesure...
Pour ce qui est de 728.06*(-0.180), j'ai cru comprendre qu'il s'agit en fait de : 728.06*(-0.0180)
magnolia01
Messages postés
20
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
3 juil. 2013 à 14:55
3 juil. 2013 à 14:55
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.
magnolia01
Messages postés
20
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
3 juil. 2013 à 15:08
3 juil. 2013 à 15:08
Pijaku
il s'agit bien de 728.06*(-0.0180) ici le pourcentage est de 1.80 et c'est le montant de la remise donc qui est calculé...
il s'agit bien de 728.06*(-0.0180) ici le pourcentage est de 1.80 et c'est le montant de la remise donc qui est calculé...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
3 juil. 2013 à 15:27
3 juil. 2013 à 15:27
Re-
J'ai testé, et, du moins il me semble, ma formule donnée plus haut (le : 3 juil. 2013 à 09:55) fonctionne dans tous tes cas de figure.
Elle fonctionne même si tu demande un arrondi à 3 ou 4 ou 5 chiffres après la virgule.....
J'ai testé, et, du moins il me semble, ma formule donnée plus haut (le : 3 juil. 2013 à 09:55) fonctionne dans tous tes cas de figure.
Elle fonctionne même si tu demande un arrondi à 3 ou 4 ou 5 chiffres après la virgule.....