Convertion nombre monétaire en texte
Résolu
Sandy
-
Utilisateur anonyme -
Utilisateur anonyme -
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.
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.
A voir également:
- Convertion nombre monétaire en texte
- Convertir audio en texte word - Guide
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Excel cellule couleur si condition texte - Guide
- Mettre un texte en majuscule - Guide
14 réponses
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
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
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.
Et concernant la fonction convertNumber, je ne la trouve pas.
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.
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.
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................
Help................
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.
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.
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)
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)
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.
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.
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 !
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 !
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+
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+
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+
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+
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.
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.