IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Tableau d'emprunt


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Par défaut Tableau d'emprunt
    Bonjour ,
    Etant relativement novice en vba je dois réaliser un tableau d'emprunt .
    Mon but est de générer à l'aide d'un bouton un tableau d'amortissement complet .

    Je suis conscient qu'il doit y avoir de nombreuses fautes dans mon code , mais je suis preneur de toute l'aide que vous pourrez m'apporter :

    Voila mon code pour l'instant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
     
    Private Sub Amortissement_constant_Click()
     
    Dim Capital As Double
    Dim Peridode As Double
    Dim Taux As Double
     
    Capital = Worksheets("Feuil1").Range("C3").Value 'Capital emprunté (Euros)
    Periode = Worksheets("Feuil1").Range("C4").Value 'Nombre de périodes (en années)
    Taux = Worksheets("Feuil1").Range("C5").Value 'Taux fixe d'emprunt ( en % annuel )
     
    Dim amortissement(), interets(), capital_restant(), total_interets(), Annuite() As Double
    Dim xx As Integer
     
    'Le tableaux capital_restant() contiendra le capital restant dû période après période (années après années) en euros.
    'Le tableaux interets() contiendra les intérets dus à la banque sur chaque années, en euros.
    'Le tableaux amortissement() contiendra le capital amorti/remboursé sur chaque période, en euros.
     
     
     ReDim amortissement(0), interets(0), capital_restant(0), total_interets(0), Annuite(0)
     
    'Amortissement la 1ere année
    amortissement(0) = Capital / Periode
    amortissement(0) = Worksheets("Feuil1").Range("D14").Value
     
    'Intérêt 1ere années
    interets(0) = Capital * Taux
    interets(0) = Worksheets("Feuil1").Range("C14").Value
     
    'somme prélevée annuelle
    Annuite(0) = interets(0) + amortissement(0)
     
    'Capital restant à amortir au début de la 1ére Période
     
    capital_restant(0) = Capital
    capital_restant(0) = Worksheets("Feuil1").Range("B14").Value
    total_interets(0) = 0
    total_interets(0) = Worksheets("Feuil1").Range("E14").Value
     
    'Début de la boucle du tableau d'amortissement , il y aura autant de lignes que de périodes saisi par l'utilisateur
     
    For xx = 1 To Periode
    capital_restant(xx) = capital_restant(xx - 1) - amortissement(xx - 1)
    capital_restant(xx) = Worksheets("Feuil1").Range("B14").Offset(1, 0).Value
     
    interets(xx) = capital_restant(xx) * Taux
    interets(xx) = Worksheets("Feuil1").Range("C14").Offset(1, 0).Value
     
    amortissement(xx) = amortissement(0)
    amortissement(xx) = Worksheets("Feuil1").Range("D14").Offset(1, 0).Value
     
    totalinterets = totalinterets + interets(xx)
    totalinterets(xx) = Worksheets("Feuil1").Range("E14").Offset(1, 0).Value
     
     
     
    Next xx
     
     
     
    End Sub
    Merci d'avance

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    un emprunt avec intérêt simple ou intérêt composé??
    et pourquoi VBA si un simple fichier excel fait l'affaire ??
    ci joint un fichier exemple
    Fichiers attachés Fichiers attachés

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Par défaut
    Oui je sais bien , il est beaucoup plus simple de passer par excel directement en effet mais je suis obligé de passer par vba c'est dans le cadre d'un sujet d'examen

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    C'est dans le cadre d'un examen ....
    De ma part je te souhaite la Bonne chance

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    déjà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim amortissement(), interets(), capital_restant(), total_interets(), Annuite() As Double
    Il y a juste annuité() qui est Double, les autres sont Variant.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    amortissement(0) = Capital / Periode
    Ça c'est déjà archifaux


    Tu dois calculer la portion des intérêts (diminue d'un paiement à l'autre) et la soustraire du paiement pour calculer la portion amortissement (augmente d'un paiement à l'autre)


    Mais pas question de faire ton devoir à ta place.

    P.S. Ton paiement tu le comptes comment ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Par défaut
    Merci pour votre aide , j'ai revu mon code et l'ai simplifié car il était inutilement compliqueé , cependant j'ai toujours une erreur : ("incompatibilité de type") dans mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Private Sub Amortissement_constant_Click()
     
    Dim Capital As Double
    Dim Peridode As Integer
    Dim Taux As Double
    Dim interet As Double
    Dim amortissement As Double
    Dim capital_restant As Double
     
    Capital = InputBox(" Quel est le montant du capital emprunte ? ")
     
    Worksheets("Feuil1").Range("C3") = Capital
     
    Taux = InputBox(" Quel est le montant du taux ? ")
     
    Worksheets("Feuil1").Range("C5") = Taux
     
    Periode = CInt(InputBox(" Quel est le nombre de periodes ? "))
     
    Worksheets("Feuil1").Range("C4") = Periode
     
     
     
    amortissement = Capital / Periode
     
    For i = 1 To Periode
     
    iligne = i + 15
     
        Worksheets("Feuil1").Range("B" & iligne) = i
        Worksheets("Feuil1").Range("C" & iligne) = Worksheets("Feuil").Range("G" & iligne - 1)
        interet = Worksheets("Feuil1").Range("C" & iligne) * Taux
        Worksheets("Feuil1").Range("D" & iligne) = interet
        Worksheets("Feuil1").Range("F" & iligne) = amortissement
       capital_restant = Worksheets("Feuil1").Range("C" & iligne) - amortissement
        Worksheets("Feuil1").Range("G" & iligne) = capital_restant
     
    Next i
     
     
     
    End Sub



    Pour le calcul de l'amortiisement , on se situe dans le cadre d'emprunt a amortissement constant ou seule la partie constitué des interets est variable .

Discussions similaires

  1. Tableau d'amortissement d'emprunt
    Par Pgs dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/09/2007, 14h11
  2. Tableau d'amortissement d'emprunt
    Par Pgs dans le forum MySQL
    Réponses: 0
    Dernier message: 03/09/2007, 23h31
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 11h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo