Date en lettres
Utilisateur anonyme - 26 août 2024 à 21:47
Bonjour, je n'arrive pas à afficher une date de naissance en toutes lettres dans Windev (25)
MaDate est une Date= SAI_Entrer_une_date
// Conversion de la date en lettres
DateEnLettres est une chaîne = DateVersJour(MaDate) + " " + DateVersMoisEnLettre(MaDate) + " " + MaDate.Année
// Affichage du résultat dans un champ de texte (par exemple TXT_Resultat)
LIB_resultat = DateEnLettres
Affiche 07 juin 2024 par exemple, ce n'est pas bon pour moi, j'aurais préféré "sept juin deux mille vingt quatre"
Merci de m'aider
- Date en lettres
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- 100 € en lettres - Forum Réseaux sociaux
- Triez cette liste par ordre alphabétique des villes et par note de la meilleure à la moins bonne. quel mot est formé par les 8 premières lettres de la colonne code ? ✓ - Forum Excel
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
3 réponses
1 août 2024 à 07:29
Bonjour
je ne connais pas windev, mais comme ce langage est très peu utilisé, tu risques de ne jamais avoir de réponse d'un spécialiste.
On va donc jouer à la déduction
MaDate est une Date= SAI_Entrer_une_date // Conversion de la date en lettres DateEnLettres est une chaîne = DateVersJour(MaDate) + " " + DateVersMoisEnLettre(MaDate) + " " + MaDate.Année //Et ton exemple de résultat est 07 juin 2024. Donc DateVersJour(MaDate //extrait le jour comme son nom l'indique DateVersMoisEnLettre(MaDate) // extrait le mois et le convertit en lettres, comme son nom l'indique aussi MaDate.Année // est la partie Année de la date, comme dans tous les types de datation que je connais donc un nombre, d'ailleurs je suppose que MaDate.Jour te donnerait 7.
En gros la fonction DateVersMoisEnLettre, extrait le mois (genre avec MaDate.Mois) puis fait correspondre le nom du mois par soit
- Une cascade de if
- Un switch case (je ne sais pas comment ça s'appelle en windev "selon le cas" peut-être)
- Un tableau ou une liste dont l'indice est le numéro du mois
Tu pourrais faire pareil avec les jour, il n'y en aurait que 31 à écrire. Mais pour les années selon l'intervalle que tu as à couvrir ça peut vite être long.
La vraie solution est de trouver (ou d'écrire toi même) une fonction qui écrit un nombre en lettres. Et de l'appliquer au jour et à l'année.
26 août 2024 à 20:45
Bonjour
Merci beaucoup mais j'ai pu solutionner avec ce code:
MaDate est une Date = ChaîneVersDate(LIB_Date_mariage1)
JOURS est un entier = MaDate..Jour
Mois est entier = MaDate..Mois
Années est un entier = MaDate..Année
JourEnText est une chaîne = NombreEnLettres(JOURS)
AnnéeEnText est une chaîne = NombreEnLettres(Années)
LIB_Date_mariage1= JourEnText + ...
" " + DateVersMoisEnLettre(MaDate) +" " + AnnéeEnText