Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

basculer des chiffres en lettres

8 réponses
Avatar
bobo
Comment peut on faire basculé un résultat de chiffres en résultat lettre?

8 réponses

Avatar
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" a écrit dans le message de
news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?



Avatar
milloche
Chercher MOREFUN

"LE TROLL" <le a écrit dans le message de news:

Bonjour,

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

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


"bobo" a écrit dans le message de
news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?






Avatar
eneric
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
Avatar
milloche
66,52 devient automatiquement Soixante-six euros cinquante-deux cents

"milloche" a écrit dans le message de news:

Chercher MOREFUN

"LE TROLL" <le a écrit dans le message de news:

Bonjour,

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

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


"bobo" a écrit dans le message de
news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?











Avatar
LE TROLL
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" a écrit dans le message de
news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?



Avatar
Philippe.R
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" a écrit dans le message de
news:
Comment peut on faire basculé un résultat de chiffres en résultat lettre?



Avatar
Philippe.R
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" a écrit dans le message de
news:
66,52 devient automatiquement Soixante-six euros cinquante-deux
cents

"milloche" a écrit dans le message de news:

Chercher MOREFUN

"LE TROLL" <le a écrit dans le message de news:

Bonjour,

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

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


"bobo" a écrit dans le message de
news:
Comment peut on faire basculé un résultat de chiffres en résultat
lettre?















Avatar
Misange
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?