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 SubBonsoir,
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