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