Bonjour à tous,
Je souhaite créer un tableau d'amortissement en VBA (type actuariel, c'est-à-dire que l'amortissement doit être recalculé à la fin de chaque mois) et je me retrouve avec le code suivant (et une erreur de syntaxe avec la ligne en gras) :
avec C11 : date de valeur (début de l'amortissement)
C12 : date d'échéance (fin de l'amortissement)
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 Sub Amortissement() i = 0 With Sheets("liste des opérations") Set plage_amort = Range(.[A8], .[A8].End(xlDown)) 'demander à lutilisateur le numéro dopération à amortir operation = InputBox("Veuillez entrer le numéro d'opération à amortir", "Amortissements") 'vérification de lexistence du numéro dans la liste des opérations disponibles For Each cell In plage_amort If cell.FormulaR1C1 = operation Then i = i + 1 Next cell If i = 0 Then MsgBox ("Cette opération n'existe pas") If i <> 0 Then Sheets("tableau d'amortissement").Select Range("C5").Select ActiveCell.FormulaR1C1 = operation With Sheets("tableau d'amortissement") .[B16].FormulaR1C1 = .[C11] 'calculer le nombre de mois entre la date déchéance et la date de valeur compteur = (.[C12] - .[C11])/30 'commencer léchéancier à la cellule B17 jusqua echeance For j = 17 To compteur .[B&j] = [date(year(B&(j-1)),month(B&(j-1))+1,Day(B&(j-1))] Next j End With End If End With End Sub
J'obtiens une erreur type 424, il n'est pas possible d'employer une variable j dans ce type de formule ?
Par ailleurs, ma seconde question est de savoir s'il est possible de faire en sorte de distinguer les mois à 31 et 30 jours; car mon code ne fait qu'incrémenter d'un mois la date d'arrêté d'amortissement (la formule de calcul est dans une autre cellule et n'entre pas dans le code VBA) mais ne prend pas en compte les jours exacts et ne prend pas en compte non plus que la date d'échéance puisse être un jour du mois quelconque (le code s'arrête à la fin du mois en question).
Je vous laisse le fichier en pièce jointe.
D'avance merci à tous !
Partager