Programme d'amortissement VBA

Bonjour tous,

Je suis en train de monter un programme d'amortissement sur excel avec VBA.

C'est pour un cours à l'université et je ne suis pas capable d'appliquer la règle du demi taux pour la première année.

Je vous explique : J'inscrit l'année d'acquisition de l'actif que je désire amortir, ensuite j'inscrit son coût, ensuite, le taux d''amortissement.

Tout ça fait, un beau tableau m'apparait me disant combien d'années l'actif sera amorti, combien d'amortissement par année, le solde et blabla.

Le problème est que la première année d'amortissement doit être à demi-taux. Exemple:

Cout : 10000

Taux d'amortissement : 20%

Année 1: 10000 * 20% / 2

Année 2: 9000 * 20%

Je n'arrive donc pas à inscrire le demi taux dans mon progamme.

Pouvez-vous m'aider?

'*****************************************************

'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)

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

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

Loop Until FNACC <= 1

End Sub

Bonsoir,

Essaie en modifiant ta macro comme suit

Avant l'instruction DO, mets cette instruction DPA = SoldeDébut * (Tauxamortissement / 100) / 2

Ensuite mets l'instruction DPA = SoldeDébut * (Tauxamortissement / 100) juste après Cells(lignesortie + 2, 5) = FNACC

Amicalement

Dan

PS : Si ton pb est terminé, merci de mettre RESOLU sur le fil. explications par ici --> https://www.excel-pratique.com/forum/viewtopic.php?t=13

Rechercher des sujets similaires à "programme amortissement vba"