Transformer les nombres en lettres

Posted on Posted in Windev

Parfois l’utilisateur a besoin de convertir des chiffres et les écrire en toute lettre, pour remplir une facture ou imprimer des chèques bancaires……

Pour cela, nous avons créé un simple exemple pour expliquer les étapes d’intégration de cette fonctionnalité dans les applications en cours de développement.

1:paramètres Monétaire

Cette Modification est optionnelle si l’application vas être utilisé par des utilisateurs de différents pays, mais pour un seul utilisateur ou des utilisateurs de même pays et utilise la même devise vous pouvez personnaliser les paramètres d’enregistrement et d’affichage des données monétaires.

Pour cela, cliquez sur le menu Projet > Description du projet

Dans l’onglet Langues > Monétaire changez les paramètres par défaut

2: Champs de Saisie

Créez un champ de saisie de type Monétaire, et laissez le masque de saisie par défaut: Monétaire défini par le projet (+devise)

Créez un champ de saisie de type Texte ou Texte multi-ligne

3: Importer la procedure

l’exemple est accompagné de la procédure pNombreEnLettres.wdg qui doit être importé dans le projet Windev.

Cette procédure est valable aussi depuis les exemples complets livré avec les versions de Windev.

Importer la collection de procédure à votre projet

Le résultat de l’importation doit être comme l’image si dessous

Vous pouvez changer la devise qui va être affiché avec les nombres en lettres, pour cela ouvrez la procédure globale NombreEnLettres et modifiez la devise

4: Fonctionnement de la procédure

Pour faire appel à la procédure ouvrez la fenêtre du code du champ de saisie Monétaire

et ajoutez le code si dessous dans « A chaque modification de Sai_monétaire »

et le résultat final doit être comme l’image si dessous

[button text= »Télécharger le tutorial » link= »http://www.mediafire.com/download/b3dxe0ajjxac9w0/nombre%2520vers%2520lettre.rar » style= »default » size= »normal » target= »_blank » display= »inline » icon= »no »]

6 thoughts on “Transformer les nombres en lettres

  1. Je sais que vous utilisez cette procédure pour les champs de type monétaire mais pour les 3 chiffres après la virgule si vous avez un zéro à la fin le total est faux. Merci pour votre réponse

    1. il faut juste remplacer
      nDécimal = rDécimal * 10^(Taille(«  » + rDécimal) – 2)
      bPetitDec = Taille(«  » + rDécimal) 4

      SI nDécimal < 10 _ET_ bPetitDec ALORS
      nDécimal = nDécimal * 10
      FIN
      par cette ligne
      nDécimal=rDécimal*1000

      1. tu veux dire remplacer tous ces lignes
        nDécimal = rDécimal * 10^(Taille(“” + rDécimal) – 2)
        bPetitDec = Taille(“” + rDécimal) 4
        SI nDécimal < 10 _ET_ bPetitDec ALORS
        nDécimal = nDécimal * 10
        FIN
        par une seule ligne nDécimal=rDécimal*1000 ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *