malcom78
Messages postés29Date d'inscriptionmardi 25 juin 2002StatutMembreDernière intervention31 mai 2003
-
15 nov. 2002 à 12:47
malcom78
Messages postés29Date d'inscriptionmardi 25 juin 2002StatutMembreDernière intervention31 mai 2003
-
18 nov. 2002 à 19:53
Bonjour à tous,
J'essaye de convertir des chiffres en lettres dans une table access.
Alors dans une table, j'ai une colonne ou il y a des chiffres et dans une autre colonne je voudrais la conversion de ces chiffres en lettres
J'ai pensé aux objets
"
left("string",1)
mid("string",1,1)
"
Mais bon je rencontre encore des problèmes car si j'ai un grand chiffre par exemple:
14576
Je n'arrive pas a dire que le 1 doit ê traduit par mille et ainsi de suite.
Donc si vous voyez une solution pour mon problème merci de me tenir au courant .
Merci
Malcom78
ElDoktor
Messages postés22Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention 7 décembre 2002 15 nov. 2002 à 13:27
A mon avis faut que tu decompose ton nombre en partie de 3 pour l'explicité en centaine et tu rajoute mille million milliard etc... selon la longueur de la chaine. Un petit exemple a complete...
a$ = "15445"
Do Until a$ = ""
Select Case Int((Len(a$) - 1) / 3)
Case 0: ext$ = ""
Case 1: ext$ = "mille "
Case 2: ext$ = "million "
Case 3: ext$ = "milliard "
End Select
k = Len(a$) Mod 3If k 0 Then k 3
b$ = Left$(a$, k)
For i = 1 To k
b1$ = Mid$(b$, i, 1)
If (k - i + 1) <> 2 Then
Select Case b1$
Case "1": Result$ = Result$ + "Un "
Case "2": Result$ = Result$ + "Deux "
Case "3": Result$ = Result$ + "Trois "
Case "4": Result$ = Result$ + "Quatre "
Case "5": Result$ = Result$ + "Cinq "
Case "6": Result$ = Result$ + "Six "
End Select
Else
Select Case b1$
Case "1": Result$ = Result$ + "dix "
Case "2": Result$ = Result$ + "vingt "
Case "3": Result$ = Result$ + "trente "
Case "4": Result$ = Result$ + "Quarate "
Case "5": Result$ = Result$ + "Cinquante "
Case "6": Result$ = Result$ + "Soixante "
End Select
End If If k 3 And i 1 Then Result$ = Result$ + "cent "
Next i
Result$ = Result$ + ext$
a$ = Right$(a$, Len(a$) - k)
Loop
MsgBox Result$
Voila j'espere que ca t'aidera, le code est un peu brute et bourrin mais bon....
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 15 nov. 2002 à 14:40
Bonjour,
Utilises le moteur de recherche du Forum avec "chiffres". Tu devrais solutionner ton problème. De mémo, cette question a été posée la semaine dernière (ou 15 jrs).
malcom78
Messages postés29Date d'inscriptionmardi 25 juin 2002StatutMembreDernière intervention31 mai 2003 18 nov. 2002 à 19:53
ok merci beaucoup je pense que cela va m'aider, je vais essayer de commencer comme ca.
Mais bon je rencontre déjà pas mal de blem lorsque j'utilise les fonctions left et mid.
Lorsque par exemple dans la cellule j'ai un nombre et que j'utilise la fonction left. Puis je veux afficher le résultat de left et il ne m'affiche rien.