Conversion chiffres-lettres

Salut ! je viens de commencer la programmation sous turbo pascal et je cherche un programme qui fait la conversion des nombres en lettres !
par exemple : pour 25 647,74 € on aura:
Vingt cinq mille six cent quarante sept euros et soixante quatorze
centimes.

Merci d'avance !

2 réponses

  1. c'ess un password de forum je voulais comment savoir decoder pour qu'il sera en lettres
    1. bjr cher frer pour convertir les chiffres en lettre u devras utiliser un certin module ou le créer sou exel sa marche j'en ai eu besoin et je lais fabriquer e pour te faciliter la tache je te le donne en ecrits tu va dans affichage tu click sur barres d'outille ensuite boite a outille controlle tu click sur mode creation ensuite visualiser le code et la tu trouve "créer un projet et tu colle ce ke je vais ecrire en dessous ps sans les tirets que g mis en premier c juste pour separer le module et ce texte
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------

      Function NBenLettres(nb)
      '
      Dim varnum, varnumD, varnumU, varlet, résultat
      '
      'varnum : pour stocker les parties du nombre que l'on va découper
      'varlet : pour stocker la conversion en lettres d'une partie du nombre
      'varnumD : pour stocker la partie dizaine d'un nombre à 2 chiffres
      'varnumU : pour stocker la partie unité d'un nombre à 2 chiffres
      'résultat : pour stocker les résultats intermédiaires des différentes étapes
      '
      Static chiffre(1 To 19) '*** tableau contenant le nom des 16 premiers nombres en lettres
      chiffre(1) = "un"
      chiffre(2) = "deux"
      chiffre(3) = "trois"
      chiffre(4) = "quatre"
      chiffre(5) = "cinq"
      chiffre(6) = "six"
      chiffre(7) = "sept"
      chiffre(8) = "huit"
      chiffre(9) = "neuf"
      chiffre(10) = "dix"
      chiffre(11) = "onze"
      chiffre(12) = "douze"
      chiffre(13) = "treize"
      chiffre(14) = "quatorze"
      chiffre(15) = "quinze"
      chiffre(16) = "seize"
      chiffre(17) = "dix-sept"
      chiffre(18) = "dix-huit"
      chiffre(19) = "dix-neuf"
      Static dizaine(1 To 8) '*** tableau contenant les noms des dizaines
      dizaine(1) = "dix"
      dizaine(2) = "vingt"
      dizaine(3) = "trente"
      dizaine(4) = "quarante"
      dizaine(5) = "cinquante"
      dizaine(6) = "soixante"
      dizaine(8) = "quatre-vingt"
      '
      '*** Traitement du cas zéro franc
      If nb >= 1 Then
      résultat = ""
      Else
      résultat = "zéro"
      GoTo fintraitementfrancs
      End If
      '*** Traitement des millions
      varnum = Int(nb / 1000000)
      If varnum > 0 Then
      GoSub centaine_dizaine
      résultat = varlet + " million"
      If varlet <> "un" Then résultat = résultat + "s"
      End If
      '
      '*** Traitement des milliers
      varnum = Int(nb) Mod 1000000
      varnum = Int(varnum / 1000)
      If varnum > 0 Then
      GoSub centaine_dizaine
      If varlet <> "un" Then résultat = résultat + " " + varlet
      résultat = résultat + " mille"
      End If
      '
      '*** Traitement des centaines et dizaines
      varnum = Int(nb) Mod 1000
      If varnum > 0 Then
      GoSub centaine_dizaine
      résultat = résultat + " " + varlet
      End If
      résultat = LTrim(résultat)
      varlet = Right$(résultat, 4)
      '
      '*** Traitement du "s" final pour vingt et cent et du "de" pour million
      Select Case varlet
      Case "cent", "ingt"
      résultat = résultat + "s"
      Case "lion", "ions"
      résultat = résultat + " de"
      End Select
      fintraitementfrancs: '*** Etiquette de branchement pour le cas "zéro franc"
      '
      '*** Indication du terme franc
      résultat = résultat + " Dinar"
      If nb >= 2 Then résultat = résultat + "s"
      '
      '*** Traitement des centimes
      varnum = Int((nb - Int(nb)) * 100 + 0.5) '*** On additionne 0,5
      '*** afin de compenser
      '*** les erreurs de calcul
      '*** dues aux arrondis
      If varnum > 0 Then
      GoSub centaine_dizaine
      résultat = résultat + " et " + varlet + " centime"
      If varnum > 1 Then résultat = résultat + "s"
      End If
      '
      '*** Conversion 1ère lettre en majuscule
      résultat = UCase(Left(résultat, 1)) + Right(résultat, Len(résultat) - 1)
      '
      '*** renvoie du résultat de la fonction et fin de la fonction
      NBenLettres = résultat
      Exit Function
      '
      centaine_dizaine: '*** Sous-programme de conversion en lettres
      '*** des centaines et dizaines
      varlet = ""
      '
      '*** Traitement des centaines
      If varnum >= 100 Then
      varlet = chiffre(Int(varnum / 100))
      varnum = varnum Mod 100
      If varlet = "un" Then
      varlet = "cent "
      Else
      varlet = varlet + " cent "
      End If
      End If
      '
      '*** Traitement des dizaines
      If varnum <= 19 Then '*** Cas où la dizaine est <20
      If varnum > 0 Then varlet = varlet + chiffre(varnum)
      Else '*** Autres cas
      varnumD = Int(varnum / 10) '*** chiffre des dizaines
      varnumU = varnum Mod 10 '*** chiffre des unités
      Select Case varnumD '*** génération des dizaines en lettres
      Case Is <= 5
      varlet = varlet + dizaine(varnumD)
      Case 6, 7
      varlet = varlet + dizaine(6)
      Case 8, 9
      varlet = varlet + dizaine(8)
      End Select
      '
      '*** traitement du séparateur des dizaines et unités
      If varnumU = 1 And varnumD < 8 Then
      varlet = varlet + " et "
      Else
      If varnumU <> 0 Or varnumD = 7 Or varnumD = 9 Then
      varlet = varlet + "-"
      End If
      End If
      '*** génération des unités
      If varnumD = 7 Or varnumD = 9 Then varnumU = varnumU + 10
      If varnumU <> 0 Then varlet = varlet + chiffre(varnumU)
      End If
      '
      '*** Suppression des espaces à gauche et retour
      varlet = RTrim(varlet)
      Return
      End Function

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------
      ensuite tu va dans debogage et tu enregistre et ferme et c'est une fonction ki se fait appeler donc pour l'appeler tu fait sa :selectione la case ou tu va mettre le montant en lettre (ABC...) click sur Fx elle se trouve en haut pres de l'espace ou tu corrige le text sur exel une fenetre s'ouvre tu choisis dans les dernier utilises la foncion personaliser ensuite tu la trouveras sur euro convert tu la mets sur Nbenlettre et la sa te sort un tite fenetre qui sappele argument de la fonction Nb tu selectionne la case ou ilya le montant en chiffres (123...) et voila comme par magie sa s'afiche et tu peut garder les case pour les utiliser une autre fois parceque quand tu change les chiffre le montant en lettre se change automatiquement

      voila j'esper t'avoir bien aider et surtout bien guider lol pour plus d'explication : kurt-cob83@hotmail.com