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

Nombres en lettres

4 réponses
Avatar
luchr
Bonjour =E0 tous. Thierry m'a bien aid=E9, mais dans le code pour
convertir des nombres en lettres il reste quelques anomalies. 1100
convertit "mille cents" et 1020 convertit "mille vingts". Dans le code
ci-dessous d=E8s que le nombre est + grand que 5 lettres il y a un "s"
or vingt ne prend un "s" que si il est pr=E9c=E9d=E9 de 4 et cent ne prend
un "s" que si il est pr=E9c=E9d=E9 de 2, 3, 4, 5, 6, 7, 8, ou 9. Si
quelqu'un peut m'aider MERCI.
Christian.

'traitement du "s" final pour vingt et cent et du "de" pour million
Select Case varlet
Case "cent", "ingt"
If Len(resultat) > 5 Then resultat =3D resultat + "s"
Case "lion", "ions"
resultat =3D resultat + " d'"
End Select

4 réponses

Avatar
Gilbert
Bonjour

Avec cette modif ça fonctionne pour 1020 et 1100 et les dérivés, mais il y a
peut-être d'autres cas à vérifier.
Ajouter la déclaration de la variable Vartmp en début de fonction

'traitement du "s" final pour vingt et cent et du "de" pour million
Select Case varlet
Case "cent"
vartmp = Right$(resultat, 10)
If vartmp <> "mille cent" And vartmp <> "llion cent" And vartmp <>
"lions cent" Then
resultat = resultat + "s"
End If
Case "ingt"
If Right$(resultat, 12) = "quatre-vingt" Then
resultat = resultat + "s"
End If
Case "lion", "ions"
resultat = resultat + " de"
End Select

--
Cordialement,

Gilbert


a écrit dans le message de
news:
Bonjour à tous. Thierry m'a bien aidé, mais dans le code pour
convertir des nombres en lettres il reste quelques anomalies. 1100
convertit "mille cents" et 1020 convertit "mille vingts". Dans le code
ci-dessous dès que le nombre est + grand que 5 lettres il y a un "s"
or vingt ne prend un "s" que si il est précédé de 4 et cent ne prend
un "s" que si il est précédé de 2, 3, 4, 5, 6, 7, 8, ou 9. Si
quelqu'un peut m'aider MERCI.
Christian.

'traitement du "s" final pour vingt et cent et du "de" pour million
Select Case varlet
Case "cent", "ingt"
If Len(resultat) > 5 Then resultat = resultat + "s"
Case "lion", "ions"
resultat = resultat + " d'"
End Select
Avatar
Willi2004
Salut à tous et excusez mon intrusion qui ne vise qu'à apporter un petit
éclairci au sujet de ce qui suit:

- or vingt ne prend un "s" que si il est précédé de 4 et cent ne prend
- un "s" que si il est précédé de 2, 3, 4, 5, 6, 7, 8, ou 9.

En fait, il faut en plus que "vingt" et "cent" terminent l'écriture d'un
nombre pour prendre un "s".
Par exemple on écrira:
Deux cent trente cinq; Deux mille trois cents; Quatre-vingt cinq;
Quatre-vingts.


a écrit:
| Bonjour à tous. Thierry m'a bien aidé, mais dans le code pour
| convertir des nombres en lettres il reste quelques anomalies. 1100
| convertit "mille cents" et 1020 convertit "mille vingts". Dans le code
| ci-dessous dès que le nombre est + grand que 5 lettres il y a un "s"
| or vingt ne prend un "s" que si il est précédé de 4 et cent ne prend
| un "s" que si il est précédé de 2, 3, 4, 5, 6, 7, 8, ou 9. Si
| quelqu'un peut m'aider MERCI.
| Christian.
|
| 'traitement du "s" final pour vingt et cent et du "de" pour million
| Select Case varlet
| Case "cent", "ingt"
| If Len(resultat) > 5 Then resultat = resultat + "s"
| Case "lion", "ions"
| resultat = resultat + " d'"
| End Select
Avatar
3stone
Salut,

Bonjour à tous. Thierry m'a bien aidé, mais dans le code pour
convertir des nombres en lettres il reste quelques anomalies.
[...]


Cette fonction-ci ne te convient pas ?
http://www.3stone.be/access/articles.php?lng=fr&pg‚

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
luchr
On 4 jan, 01:46, "3stone" wrote:
Salut,

Bonjour à tous. Thierry m'a bien aidé, mais dans le code pour
convertir des nombres en lettres il reste quelques anomalies.
[...]

Cette fonction-ci ne te convient pas ?http://www.3stone.be/access/articles .php?lng=fr&pg‚

--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)


Merci à tous pour vos réponses. J'ai pris le code de Pierre sur 3stone
qui semble fonctionner parfaitement. Merci encore. Une épine en
moins...
A+
Christian