Convertion nombre monétaire en texte
Résolu/Fermé
A voir également:
- Convertion nombre monétaire en texte
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Mettre un texte en majuscule - Guide
- Transcription texte en audio - Guide
- Convertir youtube en mp3 avec audacity - Guide
14 réponses
Utilisateur anonyme
17 avril 2008 à 16:17
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
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.
Utilisateur anonyme
17 avril 2008 à 17:05
17 avril 2008 à 17:05
Re,
allez voir les explications proposées ici:
https://www.01net.com/actualites/
allez voir les explications proposées ici:
https://www.01net.com/actualites/
Utilisateur anonyme
17 avril 2008 à 17:25
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.
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................
Utilisateur anonyme
17 avril 2008 à 18:22
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.
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)
Utilisateur anonyme
17 avril 2008 à 19:01
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.
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 !
Utilisateur anonyme
18 avril 2008 à 10:48
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+
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+
Utilisateur anonyme
18 avril 2008 à 12:18
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+
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+
Utilisateur anonyme
18 avril 2008 à 15:42
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.
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.
Utilisateur anonyme
19 avril 2008 à 14:29
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
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