Share via


NPV, fonction

Mise à jour : novembre 2007

Retourne une valeur de type Double indiquant la valeur nette actuelle d'un investissement, calculée en fonction d'une série de liquidités périodiques (paiements et encaissements) et d'un taux d'escompte.

Function NPV( _
   ByVal Rate As Double, _
   ByRef ValueArray() As Double _
) As Double

Paramètres

  • Rate
    Requis. Donnée de type Double indiquant le taux d'escompte sur la période, exprimé sous la forme d'un nombre décimal.

  • ValueArray
    Requis. Tableau de valeurs Double représentant les valeurs des liquidités. Le tableau doit contenir au moins une valeur négative (un paiement) et une valeur positive (un encaissement).

Exceptions

Type d'exception

Numéro de l'erreur

Condition

ArgumentException

5

ValueArray a la valeur Nothing, le rang de ValueArray <> 1 ou Rate = -1

Consultez la colonne « Numéro d'erreur » si vous mettez à niveau des applications Visual Basic 6.0 qui utilisent la gestion des erreurs non structurée. (Vous pouvez comparer le numéro d'erreur par rapport à Number, propriété (objet Err).) Toutefois, lorsque cela est possible, vous devez envisager de remplacer un tel contrôle d'erreur par Vue d'ensemble de la gestion structurée des exceptions pour Visual Basic.

Notes

La valeur nette actuelle d'un investissement est la valeur actuelle d'une série de paiements et d'encaissements futurs.

La fonction NPV utilise l'ordre des valeurs dans le tableau pour interpréter l'ordre des paiements et des encaissements. Veillez à entrer dans le bon ordre les valeurs représentant vos paiements et vos encaissements.

La fonction NPV fait débuter l'investissement une échéance avant la date de valeur du premier mouvement de trésorerie et le fait se terminer avec le dernier mouvement de trésorerie du tableau.

Le calcul de la valeur nette actuelle est basé sur les liquidités futures. Si votre premier mouvement de trésorerie se produit au début de la première échéance, la première valeur doit alors être ajoutée à la valeur retournée par la fonction NPV et ne doit pas être incluse dans les valeurs de mouvements de trésorerie de ValueArray.

La fonction NPV est similaire à la fonction PV (valeur actuelle) à la différence que la fonction PV autorise le début des mouvements de trésorerie soit à la fin, soit au début d'une échéance. Contrairement aux valeurs de mouvements de trésorerie variables de la fonction NPV, les mouvements de trésorerie de la fonction PV doivent être constants tout au long de la période d'investissement.

Exemple

Cet exemple utilise la fonction NPV pour retourner la valeur nette actuelle pour des liquidités listées dans le tableau values(). La valeur de retour, stockée dans FixedRetRate, représente le taux de rendement interne fixe.

' Define money format.
Dim MoneyFmt As String = "###,##0.00"
' Define percentage format.
Dim PercentFmt As String = "#0.00"

Dim values(4) As Double
' Business start-up costs.
values(0) = -70000
' Positive cash flows reflecting income for four successive years.
values(1) = 22000
values(2) = 25000
values(3) = 28000
values(4) = 31000

' Use the NPV function to calculate the net present value.
' Set fixed internal rate.
Dim FixedRetRate As Double = 0.0625
' Calculate net present value.
Dim NetPVal As Double = NPV(FixedRetRate, values)
' Display net present value.
MsgBox("The net present value of these cash flows is " & _
    Format(NetPVal, MoneyFmt) & ".")

Configuration requise

Espace de noms :Microsoft.VisualBasic

**Module :**Financial

**Assembly :**bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)

Voir aussi

Référence

IRR, fonction

MIRR, fonction

Liste des mots clés financiers

ArgumentException