Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

conversion nombre en lettres

7 réponses
Avatar
Uwaga
Bonsoir,

Sous word2003, je demande des montants dans un userform, puis j'y ajoute
la TVA et les insere dans un document. (merci pour votre aide !)

Je souhaiterais que ce nombre soit egalement converti en lettres. J'ai
trouve des macros sur internet mais plutot orientees excel, et la FAQ du
forum mentionne une methode a base de champs. Malheureusement mon niveau
ne me permet pas de bien comprendre la methode a suivre.

Comment convertir en lettre le resultat d'un calcul inserer dans un
signet ? Auriez vous sur un site un document 'exemple' que je pourrais
telecharger et avoir un exemple concret ?

Merci par avance pour votre aide, bonne soiree,

7 réponses

Avatar
Enzo1
Il n'y a pas besoin de macros
Utiliser une fonction non documentée:
Taper CTRL+F9
Taper l'exemple suivant:
228*CardText
Taper F9
La conversion de 17228 en lettres est faite


"Uwaga" a écrit dans le message de news:

Bonsoir,

Sous word2003, je demande des montants dans un userform, puis j'y ajoute
la TVA et les insere dans un document. (merci pour votre aide !)

Je souhaiterais que ce nombre soit egalement converti en lettres. J'ai
trouve des macros sur internet mais plutot orientees excel, et la FAQ du
forum mentionne une methode a base de champs. Malheureusement mon niveau
ne me permet pas de bien comprendre la methode a suivre.

Comment convertir en lettre le resultat d'un calcul inserer dans un signet
? Auriez vous sur un site un document 'exemple' que je pourrais
telecharger et avoir un exemple concret ?

Merci par avance pour votre aide, bonne soiree,


Avatar
Circé
Bonjour,

Enzo1 avait énoncé :
Il n'y a pas besoin de macros
Utiliser une fonction non documentée:
Taper CTRL+F9
Taper l'exemple suivant:
228*CardText
Taper F9
La conversion de 17228 en lettres est faite


Oui, sauf que * cardtext ne s'occupe pas des décimales, et la limite
est de 999 999.

L'autre solution est dans les balises actives, mais la virgule se
traduit par le mot "virgule" !! :(

Donc, si on a besoin des décimales, la solution est bien dans la faq
ici :
http://faqword.free.fr/articles.php?lng=fr&pg(3

Uwaga, si tu as des problèmes avec les champs, dis-nous lesquels.

Sinon, il y a effectivement une macro de Frédéric Sigonneau qui est ici
:
http://frederic.sigonneau.free.fr/code/Fonctions/NbEnLettres.txt

Circé
http://faqword.free.fr


"Uwaga" a écrit dans le message de news:

Bonsoir,

Sous word2003, je demande des montants dans un userform, puis j'y ajoute la
TVA et les insere dans un document. (merci pour votre aide !)

Je souhaiterais que ce nombre soit egalement converti en lettres. J'ai
trouve des macros sur internet mais plutot orientees excel, et la FAQ du
forum mentionne une methode a base de champs. Malheureusement mon niveau ne
me permet pas de bien comprendre la methode a suivre.

Comment convertir en lettre le resultat d'un calcul inserer dans un signet
? Auriez vous sur un site un document 'exemple' que je pourrais telecharger
et avoir un exemple concret ?

Merci par avance pour votre aide, bonne soiree,




Avatar
Geo

Uwaga, si tu as des problèmes avec les champs, dis-nous lesquels.


Pour avoir un peu suivi l'autre conversation, Uwaga insère dans le
document une somme (avec deux décimales) par macro à un emplacement
défini par un signet. Il n'y a donc pas de champ (c'est quasiment de la
culture hors sol).
La macro de Frédéric serait donc opportune sauf que :
" 'ne convertit pas les décimales... "
Mais il est toléré, il me semble, que les centimes soient écrits en
chiffres.

--
A+

Avatar
Uwaga
Bonjour !

Tout d'abord merci pour votre aide !!!

mes problemes de debutants sont je pense relativement basiques a ce stade :

resume : mon userform demande 2 nombres (installation et abonnement). a
ces nombres est rajoutee la TVA, puis ces 4 nombres sont inseres dans un
document a l'emplacement de signets. jusque la ca marche !

Je souhaite maintenant que ces nombres soient egalement convertis en
toutes lettres (cas d'un contrat). et la j'ai 2 problemes :

1- comment passer cette variable dans mon champ ? j'ai insere un champ
qui fonctionne "manuellement" ( par exemple {%*cardtext} donne bien
'vingt cinq'), mais comment mettre une variable a la place de 25 ?

2- la faq du forum presente un champ permettant de calculer y compris
apres la virgule, mais il y a plusieurs niveaux de {} imbriques. Dois je
faire ctrl+F9 a chaque fois ? de meme ce champ est sur 4 lignes. Dois je
les taper a l'identique sous word ?

Si un tel document existe deja sur un site de template ou de MVP, je
suis preneur, ca m'evite de vous "deranger"...

Encore merci pour votre aide, VBA est pour moi un peu comme une langue
etrangere qu'on comprend un peu sans pour autant la parler...
Avatar
Anacoluthe
Bonjour !

'Uwaga' nous a écrit ...
2- la faq du forum presente un champ permettant de calculer y compris
apres la virgule, mais il y a plusieurs niveaux de {} imbriques. Dois je
faire ctrl+F9 a chaque fois ? de meme ce champ est sur 4 lignes. Dois je
les taper a l'identique sous word ?


À partir du moment où vous travaillez en VBA tout est plus simple !

Si vous utilisez la méthode du champ calculé avec le commutateur CardText
il est très simple d'écrire le champ directement dans le document
et même tant qu'à faire à 'déchamper' le champ aussitôt pour ne
garder que le texte définitif.

Voici un exemple tout bête. La macro demande un nombre et l'écrit en
toutes lettres dans le document à l'endroit de la sélection :

Public Sub NombreEnLettre()
Dim MonChamp As Field
x = InputBox("Entrez un nombre")
Set MonChamp = ActiveDocument.Fields.Add(Range:=Selection.Range, _
Text:="=" & x & " * cardtext")
MonChamp.Unlink
End Sub

Concernant la question des nombres décimaux, que vous preniez la
méthode ci-dessus ou une macro plus complexe comme celles citées
par Circé, il est très simple de tester le nombre en VBA, d'en
séparer la partie entière de la partie décimale et d'utiliser
la fonction de conversion /deux/ fois pour obtenir par exemple :
Cent vingt-trois Roubles et quarante-cinq Kopecks

Anacoluthe
« Tout bonheur matériel repose sur des chiffres. »
- Honoré de BALZAC

Avatar
Uwaga
Merci pour l'exemple de macro. je vais essayer tout ca de suite en
donnant a x la valeur du textbox de mon userform, et chercher comment
positionnez ce champ a un endroit precis du document et... en zlotys ;)

Merci et Bonne soiree,


Bonjour !

'Uwaga' nous a écrit ...
2- la faq du forum presente un champ permettant de calculer y compris
apres la virgule, mais il y a plusieurs niveaux de {} imbriques. Dois
je faire ctrl+F9 a chaque fois ? de meme ce champ est sur 4 lignes.
Dois je les taper a l'identique sous word ?


À partir du moment où vous travaillez en VBA tout est plus simple !

Si vous utilisez la méthode du champ calculé avec le commutateur CardText
il est très simple d'écrire le champ directement dans le document
et même tant qu'à faire à 'déchamper' le champ aussitôt pour ne
garder que le texte définitif.

Voici un exemple tout bête. La macro demande un nombre et l'écrit en
toutes lettres dans le document à l'endroit de la sélection :

Public Sub NombreEnLettre()
Dim MonChamp As Field
x = InputBox("Entrez un nombre")
Set MonChamp = ActiveDocument.Fields.Add(Range:=Selection.Range, _
Text:="=" & x & " * cardtext")
MonChamp.Unlink
End Sub

Concernant la question des nombres décimaux, que vous preniez la
méthode ci-dessus ou une macro plus complexe comme celles citées
par Circé, il est très simple de tester le nombre en VBA, d'en
séparer la partie entière de la partie décimale et d'utiliser
la fonction de conversion /deux/ fois pour obtenir par exemple :
Cent vingt-trois Roubles et quarante-cinq Kopecks

Anacoluthe
« Tout bonheur matériel repose sur des chiffres. »
- Honoré de BALZAC



Avatar
Geo

À partir du moment où vous travaillez en VBA tout est plus simple !


J'arrête pas de le dire, mais il y a des réticents.

Concernant la question des nombres décimaux, que vous preniez la
méthode ci-dessus ou une macro plus complexe comme celles citées
par Circé, il est très simple de tester le nombre en VBA, d'en
séparer la partie entière de la partie décimale et d'utiliser
la fonction de conversion /deux/ fois pour obtenir par exemple :
Cent vingt-trois Roubles et quarante-cinq Kopecks


je n'ai pas testé la macros, mais on trouve le texte "centimes" dedans,
donc je me demande si le commentaire n'a pas une version de retard.

--
A+