Conversión de números a letras en Excel 2016

Resuelto
gturkmen Mensajes publicados 117 Estado Membre -  
 BIBO -
Hola,
Tengo Excel 2016 y quisiera convertir números en letras, como por ejemplo 112,20€ = ciento doce euros y veinte céntimos. He probado varios módulos, pero no funcionan en Excel 2016. ¿Tienes alguna idea?

Configuración: Windows / Firefox 55.0

4 réponses

mchotard Mensajes publicados 474 Fecha de registro   Estado Membre Última intervención   44
 
Hola
Intenta copiar esta macro en tu archivo (en Visual Basic). Luego, dentro de tu archivo, copia la fórmula "=chiffrelettre(referencia de la celda de número).
Yo utilizo esta función y funciona. Si necesitas, envíame un archivo.
Buena suerte

Function chiffrelettre(chiffre) ' Youky Dim a As Variant, gros As Variant a = Array("", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", _ "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quince", "dieciséis", "diecisiete", _ "dieciocho", "diecinueve", "veinte", "veintiuno", "veintidós", "veintitrés", "veinticuatro", _ "veinticinco", "veintiséis", "veintisiete", "veintiocho", "veintinueve", "treinta", "treinta y uno", _ "treinta y dos", "treinta y tres", "treinta y cuatro", "treinta y cinco", "treinta y seis", "treinta y siete", _ "treinta y ocho", "treinta y nueve", "cuarenta", "cuarenta y uno", "cuarenta y dos", "cuarenta y tres", _ "cuarenta y cuatro", "cuarenta y cinco", "cuarenta y seis", "cuarenta y siete", "cuarenta y ocho", _ "cuarenta y nueve", "cincuenta", "cincuenta y uno", "cincuenta y dos", "cincuenta y tres", _ "cincuenta y cuatro", "cincuenta y cinco", "cincuenta y seis", "cincuenta y siete", "cincuenta y ocho", _ "cincuenta y nueve", "sesenta", "sesenta y uno", "sesenta y dos", "sesenta y tres", _ "sesenta y cuatro", "sesenta y cinco", "sesenta y seis", "sesenta y siete", "sesenta y ocho", _ "sesenta y nueve", "sesenta", "sesenta y diez", "sesenta y once", "sesenta y doce", _ "sesenta y trece", "sesenta y catorce", "sesenta y quince", "sesenta y dieciséis", _ "sesenta y diecisiete", "sesenta y dieciocho", "sesenta y diecinueve", "ochenta", "ochenta y uno", _ "ochenta y dos", "ochenta y tres", "ochenta y cuatro", "ochenta y cinco", _ "ochenta y seis", "ochenta y siete", "ochenta y ocho", "ochenta y nueve", _ "ochenta y diez", "ochenta y once", "ochenta y doce", "ochenta y trece", _ "ochenta y catorce", "ochenta y quince", "ochenta y dieciséis", "ochenta y diecisiete", _ "ochenta y dieciocho", "ochenta y diecinueve") gros = Array("", "billones", "mil millones", "millones", "mil", "euros", "billón", _ "mil millones", "millón", "mil", "euro") sp = Space(1) chaine = "00000000000000" centime = chiffre * 100 - (Int(chiffre) * 100) chiffre = Str(Int(chiffre)): lg = Len(chiffre) - 1: chiffre = Right(chiffre, lg): lg = Len(chiffre) If lg < 15 Then chaine = Mid(chaine, 1, (15 - lg)) Else chaine = "" chiffre = chaine + chiffre 'billones a las centenas gp = 1 For k = 1 To 5 x = Mid(chiffre, gp, 1): c = a(Val(x)) x = Mid(chiffre, 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 = "uno" Then mydz = "un euro" & sp: GoTo fin If t <> "" And t2 = "" And c & d = "" Then mydz = "de 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 <> "uno" Then mydz = c & sp & "centavos " & gros(k) & sp: GoTo fin If d = "" And c = "uno" Then mydz = "centavo " & gros(k) & sp: GoTo fin If d = "uno" And c = "" Then myct = IIf(k = 4, gros(k) & sp, "un " & gros(k + 5) & sp): GoTo fin If d <> "" And c = "uno" Then mydz = "cent" & sp If d <> "" And c <> "" And c <> "uno" 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, " centavo", " centavos") If t = "" Then myct = IIf(centime = 1, " centavo de euro", " centavos de euro") If centime = 0 Then d = "": myct = "" chiffrelettre = t & d & myct End Function
35
LBO
 
Super !!! ¡Funciona para mí en EXCEL 2016! Pero, ¿cómo modificar el código para conversión sin símbolo monetario o cambiar el símbolo del euro por el franco CFA?
0
taoufiq73 Mensajes publicados 1 Estado Membre
 
Está bien, muchas gracias.
0