basculer des chiffres en lettres

Le
bobo
Comment peut on faire basculé un résultat de chiffres en résultat lettre?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #18514681
Bonjour,

Quel basculement ? Ascii, hexe... il y a plus de lettre que de chiffres,
alors ?

Cordialement
-
Logiciels, romans, contacts : http://irolog.free.fr


"bobo" news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?



milloche
Le #18514661
Chercher MOREFUN

"LE TROLL"
Bonjour,

Quel basculement ? Ascii, hexe... il y a plus de lettre que de chiffres, alors ?

Cordialement
-
Logiciels, romans, contacts : http://irolog.free.fr


"bobo" news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?






eneric
Le #18514641
j'ai trouvé cette fonction que tu mets dans le classeur
macro complementaires (xla) elle fonctionne testée
Function EnLettres(cellule) As Variant

Dim Nbr As String
Dim LongueurTexte As Integer
Dim Temp As String
Dim Pos As Integer
Dim iCentaines As Integer
Dim iDizaines As Integer
Dim iUnités As Integer
Dim Unités(2 To 5) As String
Dim bTrouvé As Boolean
Dim Unité As Variant
Dim Dizaines As Variant
Dim Dizaine As Variant
Dim Négatif As Boolean

' Est-ce un nombre ?
If Not IsNumeric(cellule) Then
EnLettres = CVErr(xlErrValue)
Exit Function
End If

' Est-il négatif ?
If cellule < 0 Then
Négatif = True
cellule = Abs(cellule)
End If

Nbr = Format(cellule, "###0.00")
LongueurTexte = Len(Nbr) - 3

' Est-il trop grand?
If LongueurTexte > 15 Then
EnLettres = CVErr(xlErrNum)
Exit Function
End If

Nbr = Left(Nbr, LongueurTexte)

Unité = Array("", "un", "deux", "trois", "quatre", "cinq", "six",
"sept", "huit", "neuf")
Dizaines = Array("dix", "onze", "douze", "treize", "quatorze",
"quinze", "seize", "dix-sept", "dix-huit", "dix-neuf")
Dizaine = Array("", "", "vingt", "trente", "quarante", "cinquante",
"soixante", "soixante-dix", "quatre-vingt", "quatre-vingt-dix")

Unités(2) = "mille"
Unités(3) = "million"
Unités(4) = "milliards"

Temp = ""

For Pos = 15 To 3 Step -3
If LongueurTexte >= Pos - 2 Then
bTrouvé = False
If LongueurTexte >= Pos Then
iCentaines = Asc(Mid$(Nbr, LongueurTexte - Pos + 1, 1)) - 48
If iCentaines > 0 Then
Temp = Temp & " " & Unité(iCentaines) & " cent"
bTrouvé = True
End If
End If
iDizaines = 0
iUnités = 0

If LongueurTexte >= Pos - 1 Then
iDizaines = Asc(Mid$(Nbr, LongueurTexte - Pos + 2, 1)) - 48
End If

If LongueurTexte >= Pos - 2 Then
iUnités = Asc(Mid$(Nbr, LongueurTexte - Pos + 3, 1)) - 48
End If

If iDizaines = 1 Then
Temp = Temp & " " & Dizaines(iUnités)
bTrouvé = True
Else
If iDizaines >= 2 Then
Temp = Temp & " " & Dizaine(iDizaines)
bTrouvé = True
End If
If iUnités > 0 Then
If iDizaines >= 2 Then
Temp = Temp & "-"
Else
Temp = Temp & " "
End If
Temp = Temp & Unité(iUnités)
bTrouvé = True
End If
End If
If bTrouvé And Pos > 3 Then
Temp = Temp & " " & Unités(Pos 3)
End If
End If
Next Pos

EnLettres = Trim(Temp)
If Négatif Then EnLettres = "moins " & EnLettres
End Function

--
eneric
milloche
Le #18514791
66,52 devient automatiquement Soixante-six euros cinquante-deux cents

"milloche"
Chercher MOREFUN

"LE TROLL"
Bonjour,

Quel basculement ? Ascii, hexe... il y a plus de lettre que de chiffres, alors ?

Cordialement
-
Logiciels, romans, contacts : http://irolog.free.fr


"bobo" news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?











LE TROLL
Le #18515171
Ah, tu veux écrire les valeurs chiffrées en toutes lettres, ben pose mieux
ta question :o)
-
Logiciels, romans, contacts : http://irolog.free.fr


"bobo" news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?



Philippe.R
Le #18515561
Bonsoir,

Il y a cette fonction, à coller dans un module ordinaire de ton Perso.xls

Function chiffrelettre(S)
Dim A As Variant, gros As Variant
A = Array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", _
"huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze",
"seize", "dix sept", _
"dix huit", "dix neuf", "vingt", "vingt et un", "vingt deux", "vingt trois",
"vingt quatre", _
"vingt cinq", "vingt six", "vingt sept", "vingt huit", "vingt neuf",
"trente", "trente et un", _
"trente deux", "trente trois", "trente quatre", "trente cinq", "trente six",
"trente sept", _
"trente huit", "trente neuf", "quarante", "quarante et un", "quarante deux",
"quarante trois", _
"quarante quatre", "quarante cinq", "quarante six", "quarante sept",
"quarante huit", _
"quarante neuf", "cinquante", "cinquante et un", "cinquante deux",
"cinquante trois", _
"cinquante quatre", "cinquante cinq", "cinquante six", "cinquante sept",
"cinquante huit", _
"cinquante neuf", "soixante", "soixante et un", "soixante deux", "soixante
trois", _
"soixante quatre", "soixante cinq", "soixante six", "soixante sept",
"soixante huit", _
"soixante neuf", "soixante dix", "soixante et onze", "soixante douze",
"soixante treize", _
"soixante quatorze", "soixante quinze", "soixante seize", "soixante dix
sept", _
"soixante dix huit", "soixante dix neuf", "quatre-vingts", "quatre-vingt
un", _
"quatre-vingt deux", "quatre-vingt trois", "quatre-vingt quatre",
"quatre-vingt cinq", _
"quatre-vingt six", "quatre-vingt sept", "quatre-vingt huit", "quatre-vingt
neuf", _
"quatre-vingt dix", "quatre-vingt onze", "quatre-vingt douze", "quatre-vingt
treize", _
"quatre-vingt quatorze", "quatre-vingt quinze", "quatre-vingt seize",
"quatre-vingt dix sept", _
"quatre-vingt dix huit", "quatre-vingt dix neuf")
gros = Array("", "billions", "milliards", "millions", "mille", "Euros",
"billion", _
"milliard", "million", "mille", "Euro")
sp = Space(1)
chaine = "00000000000000"
centime = S * 100 - (Int(S) * 100)
S = Str(Int(S)): lg = Len(S) - 1: S = Right(S, lg): lg = Len(S)
If lg < 15 Then chaine = Mid(chaine, 1, (15 - lg)) Else chaine = ""
S = chaine + S
'billions au centaines
gp = 1
For k = 1 To 5
x = Mid(S, gp, 1): C = A(Val(x))
x = Mid(S, gp + 1, 2): d = A(Val(x))
If k = 5 Then
If t2 <> "" And C & d = "" Then mydz = "Euros" & sp: GoTo Fin
If t <> "" And C = "" And d = "un" Then mydz = "un Euros" & sp: GoTo Fin
If t <> "" And t2 = "" And C & d = "" Then mydz = "d'Euros" & sp: GoTo Fin
If t & C & d = "" Then myct = "": mydz = "": GoTo Fin
End If
If C & d = "" Then GoTo Fin
If d = "" And C <> "" And C <> "un" Then mydz = C & sp & "cents " & gros(k)
& sp: GoTo Fin
If d = "" And C = "un" Then mydz = "cent " & gros(k) & sp: GoTo Fin
If d = "un" And C = "" Then myct = IIf(k = 4, gros(k) & sp, "un " & gros(k +
5) & sp): GoTo Fin
If d <> "" And C = "un" Then mydz = "cent" & sp
If d <> "" And C <> "" And C <> "un" Then mydz = C & sp & "cent" + sp
myct = d & sp & gros(k) & sp
Fin:
t2 = mydz & myct
t = t & mydz & myct
mydz = "": myct = ""
gp = gp + 3
Next
d = A(centime)
If t <> "" Then myct = IIf(centime = 1, " centime", " centimes")
If t = "" Then myct = IIf(centime = 1, " centime d'Euro", " centimes
d'Euro")
If centime = 0 Then d = "": myct = ""
chiffrelettre = t & d & myct
End Function

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"bobo" news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?



Philippe.R
Le #18515551
Bonsoir,
Tu penses sans doute à ce lien :

http://xcell05.free.fr/morefunc/french

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"milloche" news:
66,52 devient automatiquement Soixante-six euros cinquante-deux
cents

"milloche"
Chercher MOREFUN

"LE TROLL"
Bonjour,

Quel basculement ? Ascii, hexe... il y a plus de lettre que de chiffres,
alors ?

Cordialement
-
Logiciels, romans, contacts : http://irolog.free.fr


"bobo" news:
Comment peut on faire basculé un résultat de chiffres en résultat
lettre?















Misange
Le #18515541
Bonjour à toi aussi (si si ...)
avec une macro, obligatoirement, ça n'existe pas en antif dans excel.
Par exemple morefun de Laurent Longre (avec plein d'autres choses) ou si
tu ne veux que cette fonction
http://www.excelabo.net/moteurs/compteclic.php?nom=bj-chiffres-en-lettres

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

bobo a écrit :
Comment peut on faire basculé un résultat de chiffres en résultat lettre?



Publicité
Poster une réponse
Anonyme