Tabla de Amortización mensual en un Datagridview
Un saludo programadores y disculpas por la ausencia prolongada en la realización de mis post.
En esta vez, me propuse realizar rápidamente un tabla de amortización de crédito mensual, una utilidad para los que usan a menudo. Aunque dignamente les adelanto que lo hice rápidamente y no use todas la reglas de una programación ordenada, uds saben...
Entonces comencemos con la parte matemática:
En esta vez, me propuse realizar rápidamente un tabla de amortización de crédito mensual, una utilidad para los que usan a menudo. Aunque dignamente les adelanto que lo hice rápidamente y no use todas la reglas de una programación ordenada, uds saben...
Entonces comencemos con la parte matemática:
Vamos a implementar en vbnet
En un modulo colocamos las funciones:
Module Calculos
Public Function Inte_mensual(ByVal interes_anual As Double)
Inte_mensual = ((1 + interes_anual) ^ (1 / 12)) - 1
Return Inte_mensual
End Function
Public Function Valor_Cuota(ByVal Monto As Double, ByVal interes_mensual As Double, ByVal plazo As Double)
Valor_Cuota = Monto * ((interes_mensual * ((1 + interes_mensual) ^ plazo)) / (((1 + interes_mensual) ^ (plazo)) - 1))
Return Valor_Cuota
End Function
Public Function interes_couta(ByVal saldo_capital As Double, ByVal interes_mensual As Double)
interes_couta = saldo_capital * interes_mensual
Return interes_couta
End Function
Public Function Sumargrid(ByRef grid As DataGridView, ByVal ycolumn As Integer)
Dim suma As Double
Dim xrows As Integer
Try
For j As Integer = 0 To grid.Rows.Count - 1
suma += grid.Item(ycolumn, xrows + j).Value
suma = Format(suma, "0.00")
Next
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Return suma
End Function
End Module
Public Class Form1
Dim fecha As String
Dim n As Integer
Dim capital, saldo, tasaxmes, intresxcuota, couta_pagar, monto, tasa_anual, interes_total As Double
Private Sub btngenerar_Click(sender As Object, e As EventArgs) Handles btngenerar.Click
gridamortizacion.Rows.Clear()
calcular()
End Sub
Private Sub txtmonto_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtplazo.KeyPress, txtmonto.KeyPress, txtinteres.KeyPress, btngenerar.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then
e.Handled = True
SendKeys.Send("{TAB}")
End If
If e.KeyChar = "."c Then
e.Handled = True
SendKeys.Send(",")
End If
End Sub
Sub calcular()
Try
n = CInt(txtplazo.Text)
monto = CDbl(txtmonto.Text)
tasa_anual = CDbl(txtinteres.Text) / 100
tasaxmes = Inte_mensual(tasa_anual)
couta_pagar = Valor_Cuota(CDbl(monto), tasaxmes, n)
interes_total = tasa_anual * (monto / n)
For i As Integer = 0 To n - 1
intresxcuota = interes_couta(CDbl(monto), tasaxmes)
capital = couta_pagar - intresxcuota
saldo = Math.Abs(CDbl(monto) - capital)
fecha = DateAdd("m", i, time.Text)
monto = saldo
llenartabla()
Next
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Sub llenartabla()
Try
gridamortizacion.Rows.Add(1)
Dim r As Integer = gridamortizacion.Rows.Count - 1
gridamortizacion.Item(0, r).Value = r + 1
gridamortizacion.Item(1, r).Value = fecha
gridamortizacion.Item(2, r).Value = Format(couta_pagar, "0.00")
gridamortizacion.Item(3, r).Value = Format(intresxcuota, "0.00")
gridamortizacion.Item(4, r).Value = Format(capital, "0.00")
gridamortizacion.Item(5, r).Value = Format(saldo, "0.00")
lblinteres_mensual.Text = tasaxmes
lblintres_total.Text = Sumargrid(gridamortizacion, 3)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class
Cualquier comentario a mi correo ya los saben. Les dejo una captura de mi programa ejecutándose y el link de mi ejemplo al final, nos vemos en otra entrega.
Mi ejemplo:
https://mega.nz/#!RI0gSZ7I!u-Bb2ZpE_9A3SFTCJBoix5hU7RDhJxLPKaIrCFLMbZA
Mi ejemplo:
https://mega.nz/#!RI0gSZ7I!u-Bb2ZpE_9A3SFTCJBoix5hU7RDhJxLPKaIrCFLMbZA
Comentarios
Publicar un comentario