Share via


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.
Récupération 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.