Post by glefrancje recherche les formules mathématiques pour les redévelopper en php
des fonctions suivantes VPM, VC, VA.
j'ai bien regardé et je n'ai pas trouvé de formules
mathématiques
prenant en compte les différentes options de calculs surtout pour VPM
ou vc et type ne sont pas pris en compte.
merci de votre aide
GIL
J'ai cherché quelques temps pour trouver la formule exacte, mais franchement
j'ai dû la recomposer moi-même en prenant quelques indices "approchant" (e
reprenant un peu l'expression décrite par la réponse précédente,d'ailleurs).
En PHP, ça donne une fonction comme ça, qui donne exactement le même résulta
que Excel (NB : c'est une fonction statique, donc si vous l'utiliser hors d'un
classe, enlevez "static") :
/**
* Calcule et retourne le Versement périodique d'un remboursement ou d'u
loyer.
* @param $tx, Intérêt. Il est souvent donné annuellement (le diviser par 1
si l'on veut un calcul par mois).
* @param $npm, Nombre de périodes de capitalisation (souvent en mois)
* @param $va, Valeur actuelle (capital investi)
* @param $vc, Valeur capitalisée (capital acquis) facultative, c'est à dir
la valeur future (si omise la valeur est = 0)
* @param $typeRembt, 1 si paiement en début de période (généralement le
emprunts hypothécaires), 0 sinon (valeur par défaut)
* @return double < 0
*/
public static function VPM($tx, $npm, $va, $vc=0, $typeRembt=0){
i
(!is_numeric($tx)||!is_numeric($npm)||!is_numeric($va)||!is_numeric($vc)||!is_numeric($typeRembt)
return false;
if ($typeRembt>1||$typeRembt<0) return false;
$txActuariel = pow(1+$tx, -$npm);
if ((1-$txActuariel)==0) return 0;
$vpm = ( ($va + $vc * $txActuariel) * $tx / (1 - $txActuariel) ) / (1 + $tx
$typeRembt);
return -$vpm;//Attention : on retourne une valeur négative !
}