SYD, fonction
Renvoie une valeur de type Double qui indique l’amortissement dégressif d’un bien pour une période donnée.
Syntaxe
SYD(cost, salvage, life, period)
La fonction SYD comporte les arguments nommés suivants :
Élément | Description |
---|---|
coût | Obligatoire. Double indiquant le coût initial du bien. |
sauvetage | Obligatoire. Double indiquant la valeur du bien à la fin de sa durée de vie utile. |
vie | Obligatoire. Double spécifiant la durée de vie utile du bien. |
période | Obligatoire. Double indiquant la période de calcul de l’amortissement du bien. |
Remarques
Les argumentsde durée et de période doivent être exprimés dans les mêmes unités. Par exemple, si life est exprimé en mois, period doit également l’être. Tous les arguments doivent être des nombres positifs.
Exemple
Cet exemple utilise la fonction SYD pour retourner l’amortissement d’un bien pour une période spécifiée en fonction du coût initial de l’actif (InitCost
), de la valeur de récupération à la fin de la durée de vie utile de l’actif (SalvageVal
) et de la durée totale de vie de l’actif en années (LifeTime
). La période en années pour laquelle l’amortissement est calculé est PDepr
.
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, PDepr
Const YEARMONTHS = 12 ' Number of months in a year.
Fmt = "###,##0.00" ' Define money format.
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("What's the asset's value at the end of its life?")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YEARMONTHS ' Ensure period is >= 1 year.
MsgBox "Asset life must be a year or more."
MonthLife = InputBox("What's the asset's useful life in months?")
Loop
LifeTime = MonthLife / YEARMONTHS ' Convert months to years.
If LifeTime <> Int(MonthLife / YEARMONTHS) Then
LifeTime = Int(LifeTime + 1) ' Round up to nearest year.
End If
DepYear = CInt(InputBox("For which year do you want depreciation?"))
Do While DepYear < 1 Or DepYear > LifeTime
MsgBox "You must enter at least 1 but not more than " & LifeTime
DepYear = CInt(InputBox("For what year do you want depreciation?"))
Loop
PDepr = SYD(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & Format(PDepr, Fmt) & "."
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.