XL 2013 une question ou je n'arrive pas a décider

patricktoulon

XLDnaute Barbatruc
bonjour a tous
récemment on m'a rapporter plusieurs petits defaut dans ma fonction NblettreFR
par conséquent je l'ai complètement réécrite avec d'autre méthodes simplifiées dans un select case
j'ai même ajouté la mesure (euro,dollar,kilo,livre sterling)d'autre viendront se greffer si on me le demande
la seule chose que je n'ai pas mis dans cette fonction c'est l'arrondi
j'ai donc un soucis qui en fait depend du nombre du pour ou contre l'interprétation des décimales et de l'arrondi
en effet
j'ai un nombre par exemple
nombre=12.789
ma fonction msgbox NblettreFR2020(nombre,3)
donc avec l'argument 3 j'obtiens
douze virgule sept cent quatre-ving-neuf

sans argument ou argument monnaie ou 2 donc 2 décimales par défaut j'obtiens
douze virgule soixante-dix-huit(je n'arrondie pas)

si je devais arrondir je devrait obtenir

douze virgule quatre-vingts

mon problème est que l'arrondi (Round)arrondie au supérieure dans ce cas mais a l’inférieur dans le cas de par exemple 1153.483
j'obtiens donc
mille cent cinquante-trois virgule quatre cent quatre-vingts

si j'utilise roundup j'obtiens
mille cent cinquante-trois virgule quatre cent quatre-vingt-dix


ma question:
d’après vous quelle arrondi je devrais intégrer pour satisfaire tout le monde
 
Dernière édition:
Solution
Bonjour Patrick, Soan, Phil,
Pour moi, il n'existe pas de réponse à une telle question.
Un banquier et le client d'une banque n'auront pas la même vision de l'arrondi.
Le plus simple ( pour l'utilisateur ) est de mettre le type dans la fonction :
VB:
NblettreFR2020(nombre,3,"Inf") ou NblettreFR2020(nombre,3,"Sup")
car il sera toujours impossible de satisfaire tout le monde.

Phil69970

XLDnaute Barbatruc
Patrick

Pour moi un arrondi se fait comme ça.
Exemple:
12.789 ==> arrondi à 2 décimales ==> 12.79
douze virgule soixante-dix-neuf

12.789 ==> arrondi à 1 décimale ==> 12.8
douze virgule quatre-vingts

12.789 ==> sans décimale ==> 13
treize

1153.483 ==> arrondi à 2 décimales ==> 1153.48
mille cent cinquante-trois virgule quarante-huit

1153.483 ==> arrondi à 1 décimale ==> 1153.5
mille cent cinquante-trois virgule cinquante

1153.483 ==> sans décimale ==> 1153
mille cent cinquante-trois

@Phil69970
 

soan

XLDnaute Barbatruc
Inactif
Bonjour Patrick, Phil,

titre du sujet : « une question où je n'arrive pas à décider »

t'es le nouveau Shakespeare ? :p

« Être ou ne pas être, telle est la question ! » :D

moi aussi, j'fais les mêmes arrondis que Phil ! ;)


soan
 

soan

XLDnaute Barbatruc
Inactif
tu connais la technique « salami » ? c'est quand les banques font tous les arrondis
en leur faveur ➯ sur des milliards d'opérations bancaires, j'peux t'dire que ça leur
rapporte un max de pognon ! :p ;)

alors si c'est toi qui récolte, tu vas bientôt être le nouveau Bill Gates ! :D

(mets-moi dans ta liste de copains, hein ? comme ça, après,
tu pourras partager avec moi ! :))


soan
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Patrick, Soan, Phil,
Pour moi, il n'existe pas de réponse à une telle question.
Un banquier et le client d'une banque n'auront pas la même vision de l'arrondi.
Le plus simple ( pour l'utilisateur ) est de mettre le type dans la fonction :
VB:
NblettreFR2020(nombre,3,"Inf") ou NblettreFR2020(nombre,3,"Sup")
car il sera toujours impossible de satisfaire tout le monde.
 

patricktoulon

XLDnaute Barbatruc
allez vous avez la primeur du visuel
demo6.gif
 

Statistiques des forums

Discussions
312 221
Messages
2 086 382
Membres
103 199
dernier inscrit
ATS1