|
|
|
|
Posté par
mannylikita, le samedi 25 octobre 2003 à 13:06:02
|
pourras tu étre plus claire, me dir exactement se que tu veux obtenir.
Par exemple si tu veux que le 0 devienne un a; le 1 devienne un b (c'est ça ?)
|
|
Salut tout le monde,
en fait j'ai réalisé une fonction VB qui fait la conversion chiffres-lettres , je l'ai essayé et ça marche bien si vous etes intéressés envoyer moi un E-mail et je vous l'envoi. pas de copyright, vous pouvez l'utiliser et la modifier comme vous voulez time is not money, time is life
|
bonjour à tous
je serais aussi interresse par la macro vba convertir des chiffre en lettre car cela fais un moment que je tourne au tour et que je ne trouve pas merci d'avance voici mon e mail jsalbert@hotmail.com merci |
bjr et bonne année
je suis aussi intérressé par cette fonction, si possible merci de me l' envoyer (pas en .exe car hotmail refuse ce type d'extension) Par avance encore merci glopgg@hotmail.com |
Bonjours, je cherche également un algorithme permettant de mettre un chiffre en toute lettre mais dans un autre langage que Visual basic.
mais si vous pouviez m'envoyer cette algorithme je n'aurais cas le modifier. Voici mon adresse : nathdiscaz@wanadoo.fr merci beaucoup. |
Bonjour,
Merci de m'aider à avoir une macro qui puisse transformer les chiffres en lettre (ex: 10 = dix). Je vous en serai très reconnaissant. Amicalement
|
bonjour
je interesse par ce programme si vous voulez bien me l'envoyer SVP ilham1211@yahoo.fr merci |
bonjour
je me suis tromper de mail mon mail est "ilham1211@caramail.com" je m'exuse et j'attend votre reponse merci. |
salut a toi !
priere de m'envoyer aussi cette superbe fonction de conversion des chiffres en lettres merci mon e-mail : f_soliste@yahoo.com |
j'avais trouvé ça, je ne sais plus où
pas complètement testé, mais "simple" ..... Il est au top pour la Belgique. Mais le travail est déjà "mâché" pour la France a+ Jean-Pol DAVID www.peintures-david.com ICQ 28394733 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 9) '*** 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(7) = "soixante-dix" dizaine(8) = "quatre-vingt" dizaine(9) = "quatre-vingt-dix" ' '*** 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 + " euro" 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 varlet = varlet + dizaine(varnumD) '''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 Then varlet = varlet + "-" '''Or varnumD = 7 Or varnumD = 9 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 dites moi si soucis.
|
saluti !
J'aimerai beaucoup recevoir cette superbe fonction de conversion des chiffres en lettres ex 1OO - Cent merci |
voila le code intégral de la founction tant recherchée :
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 Mille vingt-cinq Euros ' Static chiffre(1 To 19) '*** tableau contenant le nom des 16 premiers Cents Euros nombres en lettres chiffre(1) = "un" Cents Euros et quinze centimes 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 9) '*** 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(7) = "soixante-dix" dizaine(8) = "quatre-vingt" dizaine(9) = "quatre-vingt-dix" ' '*** 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 + " euro" 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 varlet = varlet + dizaine(varnumD) '''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 Then varlet = varlet + "-" '''Or varnumD = 7 Or varnumD = 9 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 |