Avec une telle façon de faire l'applicatif fonctionnerait mais ce ne serait pas génial comme procédé.
En effet la colonne "durée" que vous évoquez, dans sa forme actuelle, a pour utilité de donner le rang de chaque échéance et le capital restant dû après paiement de ladite échéance.
Si vous procédez comme vous le dite le rang des échéances serait complètement inversé et le capital restant dû annoncé ne lui correspondrait pas du tout.
Ainsi, dans votre exemple, l'échéance rang "1" serait calculée par rapport au capital initial (= rang 0) mais, à l'affichage, on lirait rang "180" et le CRD serait bien celui après paiement de l'échéance de rang "1". Etc...
Il y a deux façons de présenter le tableau d'amortissement:
+ Soit vous laissez la colonne "durée" actuelle et vous en ajoutez une seconde "durée résiduelle" exactement inversée par rapport à l'autre qui servira au calcul de échéances.
+ Soit vous faites comme dans l'exemple ci-dessus et, dans la fonction "VPN", la durée est calculée dans la formule.
Au rang "1" elle sera égale à "durée - 0"
Au rang "2" elle sera égale à "durée - 1"
...
Au rang "180" elle sera égale à "durée -179"
=> Les rangs 0, 1,....179 étant sélectionnés dans la colonne durée.
Cdt