Convertion nombre monétaire en texte

Résolu/Fermé
Sandy - 17 avril 2008 à 15:50
 Utilisateur anonyme - 19 avril 2008 à 14:29
Bonjour,

Dans un tableau, je dois reprendre un nombre monétaire dans une case (A1 par exemple) qui doit s'écrire en toutes lettres dans une autre case (A2). Bien sur dans le texte doivent se mettre automatiquement les mentions "euros" et "centimes".

J'ai essayé les fonctions "texte" que propose Excel, mais ça ne donne rien.

14 réponses

Utilisateur anonyme
17 avril 2008 à 16:17
Bonjour,
La fonction =convertNumber() permet d'écrire en toutes lettres un nombre.
C'est une macro complémentaire qui peut etre téléchargée depuis :
www.cathyastuce .com
0
J'ai trouvé l'explication pour créer une macro mais je ne sais pas comment la créer, donc ça ne m'aide pas beaucoup.

Et concernant la fonction convertNumber, je ne la trouve pas.
0
Utilisateur anonyme
17 avril 2008 à 17:05
Re,
allez voir les explications proposées ici:
https://www.01net.com/actualites/
0
Ok, mais non !!!!!

Parce que j'ai besoin que ça soit retranscrit comme l'exemple ci-dessous :

12,50 € => Douze euros et cinquante centimes

Avec la fonction ConvNumberLetter, il ne met pas "euros" ni "centimes" (ni de majuscules en début de phrases d'ailleurs)
0
Utilisateur anonyme
17 avril 2008 à 17:25
Re ,
Ma mémoire n'est pas très fidèle la fonction porte le nom de "ConvNumberLetter" (et non pas ConvertNumber) . Elle apparait dans la liste des fonctions personnalisées si la macro complémentaire est bien enregistrée.
Bon courage.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ca ne marche toujours pas, je sais que la fonction existe car je l'ai déjà vue, mais impossible de la retrouver, ou de trouver quelqu'un qui sache la faire.

Help................
0
Utilisateur anonyme
17 avril 2008 à 18:22
Re,
Si la valeur est en A4
B4'=ConvNumberLetter(ENT(A4))&" "&"euros"&" "&"et"&" "&ConvNumberLetter(100*MOD(A4;1))&" "&"centimes"
Cette fonction marche pour l'exemple 12,50€ elle a peut-être besoin de vérifications et de perfectionnements.
Euros et centimes sont par exemple toujours au pluriel.
0
Wahou, ça c'est de la formule prise de tête, j'avoue que je ne la comprend pas (pourquoi multiplier par 100, que représentent "ENT" et "MOD").
Malheureusement il ne me l'a prend pas, il me dit qu'elle contient une erreur.

Je l'ai saisie comme suit :

=ConvNumberLetter(ENT(A4));"";"euros";"";"et";"";ConvNumberLetter(100*MOD(A4;1));"","centimes"

(Toujours en partant du principe que le chiffre à convertir est en A4)
0
Utilisateur anonyme
17 avril 2008 à 19:01
La fonction ENT prend la partie entière du nombre, Mod(A4;1) donne le reste de la division par1.
Ce reste est 0,5 il faut le multiplier par 100 pour obtenir 50 .
'=ConvNumberLetter(ENT(A4))&" "&"euros"&" "&"et"&" "&ConvNumberLetter(100*MOD(A4;1))&" "&"centimes"
Il manque des symboles de concaténation:&
Essayez de prendre la formule ci-dessus en copier/coller puis supprimer le guillemet simple (appelé aussi quote) qui se trouve devant la formule.
0
Effectivement ça marche ! Sauf que (oui je sais je suis chiante...) ça ne marche que pour les valeurs impairs (et encore pas toutes), par exemple ça ne marche pas pour 12,54 €. Les chiffres qui seront à transcrire en lettres varieront tous les mois.
J'ai essayé de modifier le 100*MOD mais ça ne donne pas grand chose, je savais que j'aurai dû être plus attentive en maths !
0
Utilisateur anonyme
18 avril 2008 à 10:48
Bonjour,
La fonction proposée fonctionne toujours sur le fichier où elle a été établie.
Dans certaines conditions de "copier/coller" elle ne fonctionne plus.
Je n'ai pas cerner le problème, je m'y remet dès que j'ai un peu de temps.
A+
0
Utilisateur anonyme
18 avril 2008 à 12:18
Re,
La fonction ConvNumberLetter n’interprète apparemment pas toujours de la même façon l’argument 100*MOD(A4 ;1)
J’ai supprimé la multiplication par cent et ajouté une fonction texte STEXT(A4 ;14 ;32)qui supprime les 14 premiers caractères de « zéro virgule cinquante trois ».

'=ConvNumberLetter(ENT(A4))&" "&"euros"&" "&"et"&" "&STXT(ConvNumberLetter(MOD(A4;1));14;25)&" "&"centimes"

A+
0
C'est super !! Ca marche, merci beaucoup, je suis super contente !!!

A bientôt j'espère pour vous rendre service à mon tour.

Sandy
0
Utilisateur anonyme
18 avril 2008 à 14:14
Hélas, çà marche pas avec zéro centime.
Désolé.
0
C'est pas grave, je me "contenterai" de ça !!!!!!!!!
0
Utilisateur anonyme
18 avril 2008 à 15:42
Dernière pour conclure.
La formule proposée au N° 8 est proche de la solution.
Le calcul 100*MOD(A4;1) ne donne pas toujours un entier comme résultat, même si le nombre affiché est entier.
Excel laisse des poussières de décimales que la fonction ConvNumLetter ne sait pas toujours interpréter.
IL faut donc ajouter une fonction "Arrondi" pour pallier cet inconvénient.

'=ConvNumberLetter(ENT(A32))&" "&"euro(s)"&" "&"et"&" "&ConvNumberLetter(ARRONDI(100*MOD(A32;1);2))&" "&"centime(s)"

Les références A4 et A32 sont arbitraires.
0
Utilisateur anonyme
19 avril 2008 à 14:29
Bonjour,
Il y a infiniment plus simple.
Le commentaire de « 01 télécharger.com » m’a induit en erreur :
« Seule lacune : si la cellule comporte un nom de devise, par l'exemple l'euro, il est ignoré. »

A6=788,78€
=ConvNumberLetter(A6;1;0;1;0)
Sept cent quatre-vingt-huit euros soixante-dix-huit cents
0