Fernand COSTA a écrit :
Re,
Dans ma macro, la partie décimale est gérée ici :
/début code
vIntermediaire=mid(vtravail,vpositionvirgule+1,vposition)
IF len(vIntermediaire<vposition) then
do while len(vIntermediaire)<vposition
vIntermediaire=vIntermediaire+"0"
loop
END IF
vdecimale=cint(vIntermediaire)
/fin code
vposition est la variable transmise à la macro indiquant le nb de
décimale que l'on souhaite garder pour la conversion en lettre,
vtravail est la "conversion alphanumérique" du nombre à écrire en
toute lettre
avec la boucle while je complète éventuellement avec des zéros pour
obtenir le nb de décimales souhaité.
Je ne dépend absolument pas du formatage appliqué à la cellule.
Salutations.
Oui, je te suis entièrement d'autant plus que j'ai adopté une solution
similaire, sauf au sujet du formatage. Ce que j'aurai souhaité, c'est de
pouvoir jouer sur un nombre de décimales variables, de 0 à 10 par
exemple (par choix) ou tel qu'inscrit dans la cellule (donc suivant
format affichage) ou réel (avec un max quand même).
Avantage : je peux afficher des valeurs financières (2 décimales) ou
n'importe quoi d'autre, comme des kilomètres, des mètres,...
Mais c'est là que je coince. Comment savoir en lisant :
9999999999,00001
que c'est bien 9999999999,00001 et non 9999999999
Ca m'agace, parce que j'étais assez proche de la solution, mais de temps
à autre des résultats curieux voire aberrants me faisait penser à une
erreur de programmation, pas de précision !
Bon surf,
Christian