isanonyme
Messages postés4Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 7 décembre 2007
-
1 déc. 2007 à 14:54
Mike Gagnon
Messages postés381Date d'inscriptionvendredi 15 octobre 2004StatutMembreDernière intervention24 octobre 2013
-
8 déc. 2007 à 13:25
Bonjour les pros !!!
ce n'est peut être pas le bon endroit, mais depuis l'autre bout de la terre, au fond de la Guadeloupe, j'ai absolument besoin d'aide.
Mon souci (récurrent à priori...) convertir des nombres (monétaires) en lettres dans word, suite à une fusion avec access.
J'ai bien trouvé sur le site une super formule, mais.... je ne sais pas comment la faire fonctionner.
Quelqu'un aurait il la patience de m'expliquer pas à pas comment la rendre active dans word...
Je vous remercie d'avance., beaucoup beaucoup beaucoup
Isabelle
Voici la fonction en question :
isanonyme
Messages postés4Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 7 décembre 2007 3 déc. 2007 à 11:28
Bonjour,
merci pour ta réponse, mais je suis encore plus nulle que ça...
je ne sais pas vraiment comment coller la fonction dans visual (je colle dans un module, je ferme et c'est tout ???)
ensuite pour faire appel à la valeur... j'insère ce que tu m'as indiqué comme ça dans le texte ??? dans un champ ? lequel ?
merci, de me répondre, je dois achever rapidement mon modèle.
Mike Gagnon
Messages postés381Date d'inscriptionvendredi 15 octobre 2004StatutMembreDernière intervention24 octobre 20132 3 déc. 2007 à 12:18
Tu pourrais par example, te créer un programme 'main' (qui est le premier à partir lorsque ton application démarre), et dans ce programme (au bas) tu copie et colle le code de ta fonction tel quel. Et lors que tu en a besoin (par example sur une forme tu as une boite numérique et une boite texte, et dans un bouton de commande to veux la traduction de ta valeur numérique), tu peux faire (dans le click du bouton de commande):
thisform.text1.value = convlettre(55.67,.T.)
isanonyme
Messages postés4Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 7 décembre 2007 4 déc. 2007 à 17:23
merci pour ta réponse, mais ma science est plus que limitée en dehors de l'utilisation classique des logiciels... donc là, tu me parles chinois.
merci quand même
Isabelle
Vous n’avez pas trouvé la réponse que vous recherchez ?
Mike Gagnon
Messages postés381Date d'inscriptionvendredi 15 octobre 2004StatutMembreDernière intervention24 octobre 20132 8 déc. 2007 à 13:25
Voici la correction de la fonction. Mettez ce qui suis dans un prg et roulez a partir de la fenetre commande;
? convlettre(12345)
function convlettre(chiffre,monai)
local i,t
local cChif
local tChif
local aniveau,texte,arangs,amil,aexcep,avcex
if vartype(m.monai)="L"
*m.monai=liregaumeric("CurrSymbol")
monai="Euro"
endif
m.i=m.i+1
m.tChif=left(m.tchif,len(m.tchif)-3)
if len(m.tchif)==0
exit
endif
enddo
for i=1 to alen(aniveau,1)
aniveau[i,1]=iif(len(aniveau[i,1])<3,padl(aniveau[i,1],3,"0"),aniveau[i,1])
for m.t=1 to len(aniveau[i,1])
if substr(aniveau[i,1],t,1)<>"0"
aniveau[i,2]=aniveau[i,2]+arangs[val(substr(aniveau[i,1],m.t,1)),m.t]
endif
next
if m.i>1
aniveau[i,2]=aniveau[i,2]+amil[i]+iif(val(aniveau[i,1])>1.and.i>2,"s "," ")
endif
next
for i=alen(aniveau,1) to 1 step -1
m.texte=m.texte+aniveau[i,2]
next
* traite les exceptions
for i=1 to 12
m.texte=strtran(m.texte,aexcep[i,1],aexcep[i,2])
next i
*// enl?ve un mille
m.texte=iif(left(m.texte,8)="un mille",right(m.texte,len(m.texte)-3),m.texte)
*// vingt et cent
for m.i=1 to 2
m.texte=strtran(left(m.texte,len(m.texte)-4),avcex[i,1],avcex[i,2])+right(m.texte,4)
next