Tableau d'amortissement VBA
Résolu
meuhlol
Messages postés
2031
Statut
Membre
-
meuhlol Messages postés 2031 Statut Membre -
meuhlol Messages postés 2031 Statut Membre -
Bonjour les amis,
Je suis en train de me prendre la tête à fabriquer un petit tableau excel/VBA
pour les taux d'amortissements.
J'ai 3 TextBox (pour taux, le montant et la durée) desquels je récupère les données.
Dans la cellule E6 après le calcul il stocke le montant de mensualité. C'est bon.
1) En partant de la cellule B9 il numérote le nombre de lignes selon le nombre indiqué dans le tbDuree. Super.
2) C9, il remplit les cellules du montant de mensualité calculé précédemment. C'est bon aussi
3) D9... Là, c'est mon casse-tête... Là où il y a le X dans PPmt c'est le numéro correspondant à la période. J'ai besoin que ce numéro soit repris à chaque ligne.
B9 n° 1 ; x = 1
B10 n° 2 ; x = 2
B11 n° 3 ; x = 3
et ainsi de suite jusqu'au nombre maximal de lignes (qui équivaut le nombre de mois)
Par la suite j'aurais la même galère avec les intérêts et le capital restant dû je pense xD
Et peut-être vous saurez me dire si il n'y a pas une solution plus simple, du genre :
Tiens, Excel, tu vois la case B9 ? Bah tu mets dedans le chiffre 1 puis tu vas à la case C9 et tu copies dedans le montant de la mensualité que tu trouves en E6, puis tu vas dans la case D9 et tu mets dedans le montant du capital remboursé, dans la case E9 les intérêts et dans F9 tu mets le capital restant dû. Puis, cher Excel, tu vas à la ligne et dans la case B10 tu mets le numéro de la ligne, tu répètes les opérations jusqu'au l'arrivée à la dernière ligne dont le numéro tu trouveras dans la TextBox xD
Merci par avance et bonne journée !
Je suis en train de me prendre la tête à fabriquer un petit tableau excel/VBA
pour les taux d'amortissements.
J'ai 3 TextBox (pour taux, le montant et la durée) desquels je récupère les données.
Sub PMT()
Dim capital As Integer
Dim Taux As Double
Dim Duree As Double
Dim total() As Variant
Dim maximo As Double
Dim i As Double
Dim x As Double
capital = tbMontant.Value
Taux = Format(Val(tbTaux.Value) / 100) / 12
Duree = tbDuree.Value
Range("E6").Value = -Application.WorksheetFunction.PMT(Taux, Duree, capital)
maximo = Duree
ReDim total(1 To maximo, 1 To 1)
For i = 1 To maximo
total(i, 1) = i
x = 1
Range("B9").Resize(UBound(total)).Value = total '1
Range("C9").Resize(UBound(total)).Value = Round((Range("E6").Value), 2) '2
Range("D9").Resize(UBound(total)).Value = Round((-PPmt(Taux, x, maximo, capital)), 2) '3
Next i
End Sub
Dans la cellule E6 après le calcul il stocke le montant de mensualité. C'est bon.
1) En partant de la cellule B9 il numérote le nombre de lignes selon le nombre indiqué dans le tbDuree. Super.
2) C9, il remplit les cellules du montant de mensualité calculé précédemment. C'est bon aussi
3) D9... Là, c'est mon casse-tête... Là où il y a le X dans PPmt c'est le numéro correspondant à la période. J'ai besoin que ce numéro soit repris à chaque ligne.
B9 n° 1 ; x = 1
B10 n° 2 ; x = 2
B11 n° 3 ; x = 3
et ainsi de suite jusqu'au nombre maximal de lignes (qui équivaut le nombre de mois)
Par la suite j'aurais la même galère avec les intérêts et le capital restant dû je pense xD
Et peut-être vous saurez me dire si il n'y a pas une solution plus simple, du genre :
Tiens, Excel, tu vois la case B9 ? Bah tu mets dedans le chiffre 1 puis tu vas à la case C9 et tu copies dedans le montant de la mensualité que tu trouves en E6, puis tu vas dans la case D9 et tu mets dedans le montant du capital remboursé, dans la case E9 les intérêts et dans F9 tu mets le capital restant dû. Puis, cher Excel, tu vas à la ligne et dans la case B10 tu mets le numéro de la ligne, tu répètes les opérations jusqu'au l'arrivée à la dernière ligne dont le numéro tu trouveras dans la TextBox xD
Merci par avance et bonne journée !
A voir également:
- Tableau d'amortissement VBA
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
1 réponse
bonjour,
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pourquoi n'utilises-tu pas i à la place de x?
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pourquoi n'utilises-tu pas i à la place de x?
le i à la place de x produit le même résultat :/
p.s. j'ai pas trouvé de code "vba" dans la liste des codes proposés
Petit soucis au niveau des arrondis il fait disparaître les zéros à la fin. 165,9, 171,5
Deux petites questions :
Comment lui dire que les zéros à la fin c'est plus joli, même si on comprend bien que 165,9 = 165,90 ? xD
Et le plus important :
Equivalent de la fonction CUMUL.PRINCPER en vba c'est quoi svp ?
Merci encore !