Échéancier de crédit

Description

Mon premier prog, il permet de calculer toutes les échéances d'un crédit . Mais j'ai un problème avec les décimales. SVP si vous avez des motifs je suis preneur, car c'est un devoir pour l'école.

Source / Exemple :


Dim a, c, d, e, f, g, h, h2, j, S, Am, r, v As String
Dim b As Single

Private Sub Command1_Click()
End
End Sub
Private Sub eff_Click()
RT = ""               'procédure d'éffacement du tableau d'échéancier
MPT = ""
TEGT = ""
MMRT = ""
DTmois = ""
DTan = ""
CTCT = ""
End Sub
            'MSG d'accueille
            
Private Sub Form_Load()
MsgBox "Entez vos données"
End Sub

Private Sub c1_Click()
MPT = Val(Format(MPT, "0")) 'retire les saisies de caractère
TEGT = Val(TEGT)            'retire le % pour permette les verif'
TEGT = Format(TEGT, "00.00")
mmrp = Val(Format(mmrp, "0"))

            'vérification de la cohérence des données
If MPT < 0 Or TEGT < 0 Or MMRT < 0 Then
    MsgBox "Attention les données ne doivent pas êtres négatifs"
            'vérification d'absence de valeur
    ElseIf MPT = "" Or TEGT = "" Or MMRT = "" Then
    MsgBox "il manque une ou plusieurs valeurs de saisie"
        ElseIf TEGT > 100 Then
        MsgBox "Attention les données du taux d'intéret sont incoérentes"
        MPT = 0
        TEGT = 0
        MMRT = 0
End If

        'désignation des valeurs dans les variables
a = Val(MPT)
b = Val(TEGT)
c = Val(MMRT)
TEGT = Format(b / 100, "00.00%")       'mettre la valeur du taux en %

                'calcul de la durée du crédit (NB de rang)
            'durée en année et msg d'érreure
If a > 0 Or b > 0 Or c > 0 Then     'boucle antibug pour évité de lancer
                                    'le calcul si les valeurs sont égals à zéro
e = 0
S = a
Do
x = ((c) - (S * (b / 100) / 12))
S = S - x
e = e + 1
    If e > 50 * 12 Then            'pour évité d'avoir une valeure tros important
    MsgBox "Attention la durée du crédit est tros longue veuillez augmenter vos mensualitées"
    a = 0
    b = 0
    c = 0
    S = -1
    e = 0
    End If
Loop Until S <= 0
    
    
DTmois = Format(e, "0 mois")
            'durée en mois
    f = e / 12
    DTan = Format(f, "0.00années")

            'lecture des donnéées
    h = 0
    S = a
    r = 0
    
    Do              'Boucle de calcul(répèter jusqu'a)
            r = r + 1               'Num du rang
            v = (S * b / 100) / 12      'Calcul des intérêts en mois
            h = v + h               'variable de calcule de la somme des intérets
            Am = c - v              'Calcul de l'amortissement
            S = S - Am              'Calcul du solde
    
            RT = RT & Format(r, "000") & "   /  " & c & "€   /  " & _
            Format(v, "00.00€") & "   /  " & Format(Am, "00.00€") & "   /  " _
            & Format(S, "00.00€") & vbCrLf
        
    Loop Until r >= e - 1
           
                'dernierre ligne de calcul pour une mensualité du solde exacte
             r = e
            RT = RT & Format(r, "000") & "   /  " & Format(S + S * b / 1200, "000€") _
            & "   /  " & Format(S * b / 1200, "00.00€") _
            & "   /  " & Format(S, "00.00€") & "   /  " & Format(0, "00.00€") & vbCrLf
            h2 = S * b / 1200
            
            'calcul du coût total du crédit
    g = h + a + h2
    CTCT = Format(g, "0.00€")
   
End If

End Sub

Private Sub RT_Change()          'affichage automatique de la dernière
RT.SelStart = Len(RT)            'ligne ajoutée a la zone de texte
End Sub

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.