Rechercher : dans
Par :

Amortissement VBA/Excel

Archaos25, le 18 avr 2009 à 02:43:36 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un programme VBA à faire sur excel pour une grille d'amortissement.
Pour ceux qui s'y connaissent là-dedans, faites moi signe par E-mail, je vais vous envoyer mon travail parce que c'est trop compliqué à expliquer.

Voici le code: Mon problème est que je dois arriver à diviser le montant de DPA de la première année par deux sans que les années suivantes se divisent par deux également.


'*****************************************************
'Programme #1
'*****************************************************

Sub amortissementdégressif()

'Ce programme permet de présenter la grille d'amortissement
'dégressif d'un actif. On entre les données dans les boîtes
'prévues à cette fin pour obtenir le résultat de l'amortissement.

'Indication où commencer l'amortissement
LigneSortie = 5

'Effacement des données présentes
Rows(LigneSortie + 2 & ":" & LigneSortie + 500).Select
Selection.Clear

'Lecture des intrants de l'utilisateur au moyen de boîtes
annéeachat = InputBox("Année d'achat de l'immobilisation ", "Calculateur")
CoûtCapital = InputBox("Coût de l'immobilisation", "Calculateur")
Tauxamortissement = InputBox("Taux d'amortissement de l'immobilisation", "Calculateur")

'Vérification du taux de déduction pour amortissement permis
If Tauxamortissement >= 100 Then
MsgBox "Un tel taux d'amortissement n'existe pas"
End If
If Tauxamortissement = 0 Then
MsgBox "Un tel taux d'amortissement n'existe pas"
End If

'Initialisation du coût en capital de départ
SoldeDébut = CoûtCapital

'Boucle pour calculer chacune des années


Do

DPA = SoldeDébut * (Tauxamortissement / 100) / 2

FNACC = SoldeDébut - DPA

Cells(LigneSortie + 2, 2).Value = annéeachat
Cells(LigneSortie + 2, 3).Value = SoldeDébut
Cells(LigneSortie + 2, 4).Value = DPA
Cells(LigneSortie + 2, 5).Value = FNACC

LigneSortie = LigneSortie + 1
annéeachat = annéeachat + 1
SoldeDébut = FNACC
Cells(LigneSortie + 2, 4).Value = DPA

Range(Cells(LigneSortie + 1, 5), Cells(LigneSortie + année + 1, 7)).Select
Selection.NumberFormat = "#,##0$"

Loop Until FNACC <= 1

End Sub

Configuration: Windows Vista
Internet Explorer 7.0