XL 2013 Convertir des chiffres en lettres sans les centimes

murainesouspatate

XLDnaute Junior
Bonjour à tous,

Je suis en train de créer un fichier de facturation sur lequel je dois mettre la somme totale TTC à payer en lettres.
Jusque là je n'arrive pas à trouver comment ne pas faire paraitre les centimes puisque je suis à Nouméa et que nous sommes en francs pacifique ( les centimes n'éxistent pas ici).
J'ai bien trouvé la fonction ConvNumberLetter et un code qui va bien que vous trouverez en pièce-jointe, mais je ne sais pas comment arrondir à la valeur supérieur sans les décimales comme le fait la cellule si je mets le format de cellule "nombre" avec "zéro décimale".

Cordialement.
 

Fichiers joints

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour à tous,

Je suis en train de créer un fichier de facturation sur lequel je dois mettre la somme totale TTC à payer en lettres.
Jusque là je n'arrive pas à trouver comment ne pas faire paraitre les centimes puisque je suis à Nouméa et que nous sommes en francs pacifique ( les centimes n'éxistent pas ici).
J'ai bien trouvé la fonction ConvNumberLetter et un code qui va bien que vous trouverez en pièce-jointe, mais je ne sais pas comment arrondir à la valeur supérieur sans les décimales comme le fait la cellule si je mets le format de cellule "nombre" avec "zéro décimale".

Cordialement.
????
Chiffrelettre(ENT(s))
 

Johnovich

XLDnaute Nouveau
Bonjour, je suis débutante, est je viens d'une petite île dans le pacifique, alors j'ai télécharger votre fichier, j'ai copier le macro pour l'introduire, j'ai inséré la cellule à convertir, mais problème après Franc il y a aussi des centimes, or je veux pas de ces centimes, en n'est en Polynésie, on a pas besoin

Merci pour tout
 

pierrejean

XLDnaute Barbatruc
Bonjour
Une possibilité: Utiliser cette fonction:
Function Chiffrelettre_sanscentime(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", "Francs", "billion", _
"milliard", "million", "mille", "Dirhams")
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 = "Francs" & sp: GoTo fin
If t <> "" And C = "" And D = "un" Then mydz = "un Franc" & sp: GoTo fin
If t <> "" And t2 = "" And C & D = "" Then mydz = "de Francs" & 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_sanscentime = t
End Function
 

Johnovich

XLDnaute Nouveau
BONJOUR PierreJean, Mauruuru roa (MERCI BEAUCOUP dans notre langue Tahitienne), grâce à vous j'ai pratiquement fini ma facture. En effet, j'ai un petit problème, il ne prend pas en charge les arrondies de mon TTC. La cellule destinataire de la formule personnalisé converti le TTC à payer en lettre avec les décimales.

Exemple: TTC = 1500 franc pacifique =>avec la fonction = 1495 franc

Ps: je ne sais pas non plus comment enregistrer cette formule pour qu'à chaque fois que je réouvre mon classeur il y a toujours la formule...je ne sais pas si on parle d'enregistrer un macro, un module, etc, JE SUIS COMPLETEMENT PERDU.

Vous pouvez m'aider SVP
 

Fichiers joints

murainesouspatate

XLDnaute Junior
Bonjour, je suis en Nouvelle Calédonie et nous avons la même monnaie
je te conseille de créer un module et de copier la fonction de pierre-jean.

Je t'envoi un exemple en fichier joint que tu pourras utiliser en copiant le module 1

Tata ! (aurevoir d'ici)
 

Fichiers joints

Johnovich

XLDnaute Nouveau
Bonjour, je suis en Nouvelle Calédonie et nous avons la même monnaie
je te conseille de créer un module et de copier la fonction de pierre-jean.

Je t'envoi un exemple en fichier joint que tu pourras utiliser en copiant le module 1

Tata ! (aurevoir d'ici)

MERCI BEAUCOUP MURAINESOUSPATATE, C magique
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas