CONVERSION DES CHIFFRES VERS LES LETTRES

Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003
-
Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003
-
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

ex: 45 ---> quarante cinq
75 ---> soixante quinze etc ...

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

3 réponses

Messages postés
22
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
7 décembre 2002

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....

-Dok
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
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).

Bon courage.
Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003

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.

Malcom78