Conversion Chiffre en texte
Résolu/Fermé
A voir également:
- Conversion Chiffre en texte
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel trier par ordre croissant chiffre - Guide
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
4 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
23 janv. 2015 à 18:22
23 janv. 2015 à 18:22
Bonjour,
il y a un classeura télécharger
https://www.excel-downloads.com/threads/macro-xla-conversion-nombre-en-lettre.136580/
il y a un classeura télécharger
https://www.excel-downloads.com/threads/macro-xla-conversion-nombre-en-lettre.136580/
Bonjour
voila un Function a mettre dans un modul
et mettre dans une cellule "=chiffrelettre(A1)"
A+
Maurice
voila un Function a mettre dans un modul
et mettre dans une cellule "=chiffrelettre(A1)"
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
A+
Maurice
Désolé, mais je n'ai pas tout compris
sur ton lien, je retrouve la macro que j'ai déjà téléchargé et qui installe une fonction nommée "ConvNumberLetter"
mais si j'envoie le fichier à quelqu'un qui n'a pas installé la macro complémentaire, ça ne fonctionnera pas chez lui, ou bien ??
sur ton lien, je retrouve la macro que j'ai déjà téléchargé et qui installe une fonction nommée "ConvNumberLetter"
mais si j'envoie le fichier à quelqu'un qui n'a pas installé la macro complémentaire, ça ne fonctionnera pas chez lui, ou bien ??
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
23 janv. 2015 à 19:51
23 janv. 2015 à 19:51
non c'est un fichier xls, cela fonctionnera. Il faut juste que tu ailles dans la macro et mettre ceci pour avoir les euros:
Public Function ConvNumberLetter(Nombre As Double, Optional Devise As Byte = 3,
Il faut changer le 0 en 3
Public Function ConvNumberLetter(Nombre As Double, Optional Devise As Byte = 3,
Il faut changer le 0 en 3
Entre temps, j'avais extrait le module du fichier ( exporter ), puis j'ai importé le fichier .bas obtenu dans un fichier excel perso, ça fonctionne,
Merci beaucoup pour votre aide
Maurice, je garde ta fonction, merci !
N'empêche, c'est quand même fou qu'il n'y ait pas un truc inclus dans excel, si puissant, pour faire un truc qui à priori paraît si 'simple'
Merci beaucoup pour votre aide
Maurice, je garde ta fonction, merci !
N'empêche, c'est quand même fou qu'il n'y ait pas un truc inclus dans excel, si puissant, pour faire un truc qui à priori paraît si 'simple'