PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → AMortissement dégressif d'une immobilisation par mois
AMortissement dégressif d'une immobilisation par mois
Iniciado por Ralph IGCI, 20,ago. 2020 09:18 - 5 respuestas
Miembro registrado
558 mensajes
Publicado el 20,agosto 2020 - 09:18
Bonjour,
J'ai un bien immobilier qui a une valeur immobilière de 25000€, je dois sortir un tableau prévisionnel d'amortissement drégressif par mois.
Je précise juste que pour les crédits c'est différents des immobilisations.
Je cherche un retour d'expérience. Je sais le faire par an. Mais je dois remener aux mois.
Merci
Miembro registrado
558 mensajes
Publicado el 20,agosto 2020 - 09:23
Je précise juste que je veux établir le tableau d'amortissement et que la particularité c'est qu'il y a un taux de dégréessivité qui intervient et qui n'existe pas dans les formules de Windev
Miembro registrado
491 mensajes
Publicado el 24,agosto 2020 - 16:35
Bonjour

peut être que ma réponse ne répondra pas à votre problème mais peut être que ça vous aidera :

Avez vous regardez l'exemple WD emprunt fournit avec windev ?
Miembro registrado
558 mensajes
Publicado el 25,agosto 2020 - 08:49
Bonsoir,
Celui là concerne les calculs financiers. pas immobilier
Publicado el 25,agosto 2020 - 09:11
Le 20/08/2020 à 07:18, Ralph IGCI a écrit :
Bonjour,
J'ai un bien immobilier qui a une valeur immobilière de 25000€, je dois
sortir un tableau prévisionnel d'amortissement drégressif par mois.
Je précise juste que pour les crédits c'est différents des immobilisations.
Je cherche un retour d'expérience. Je sais le faire par an. Mais je dois
remener aux mois.
Merci


Bonjour
C'est une fonction que j'ai faite en ... 2008
Cela remonte légèrement
TableSupprimeTout(TABLEIA)
lOk est un booléen = Vrai ; sMessage est une chaîne = ""
nAnnee est un entier = 0 ; nMois est un entier = 0 ; I est un entier = 0
nFin est un entier = NDUREE; mTauxRéel est un monétaire = 0
mValeurDébutAmortissement est un monétaire = 0 ; mAnnuité est un
monétaire = 0
dDateDebutAnnuite est une Date; dDateFinAnnuite est une Date
dDateDebutPeriodeAnnee est une Date ; dDateFinPeriodeAnnee est une Date
MCumulAmortissement est un monétaire = 0
MValeurFictifAnnuiteLineaire est un monétaire = 0
nNommbredeMois est un entier
dDateDebut est une Date = DateSys()
SI NDUREE > 0 ALORS
SINON
lOk = Faux
sMessage += " Pas de durée d'amortissement ..."
FIN
SI LIB_BASEAMORTISSEMENT > 0 ALORS
SINON
lOk = Faux
sMessage+= " Pas de Montant à Amortir ..."
FIN
SI LIB_MTAUX > 0 ALORS
SINON
lOk = Faux
sMessage+=" Pas de Taux d'amortissement... "
FIN
SI DateValide(DATE_DEBUT_AMORTISSEMENT) ALORS
dDateDebut = DATE_DEBUT_AMORTISSEMENT
SINON
lOk = Faux
sMessage += "Début amortissement inconnu"
FIN
SI PAS lOk ALORS
LIB_MESSAGE..Visible = Vrai
LIB_MESSAGE= sMessage
RETOUR
SINON
LIB_MESSAGE..Visible = Faux
FIN
nAnnee = dDateDebut..Année
nAnnee-=1
mValeurDébutAmortissement = LIB_BASEAMORTISSEMENT
POUR I = 1 À nFin
nNommbredeMois = 0 ; dDateDebutPeriodeAnnee ="" ; dDateFinPeriodeAnnee
= ""; mAnnuité = 0 ; mTauxRéel = 0 ; MCumulAmortissement= 0
nAnnee++
SI I = 1 ALORS
dDateDebutAnnuite = DATE_DEBUT_AMORTISSEMENT
dDateFinAnnuite..Jour = 31 ; dDateFinAnnuite..Mois = 12 ;
dDateFinAnnuite..Année = nAnnee

TableAjouteLigne(TABLEIA,I,"ImageIA_Calcul.png","calcul3.png",MTAUXDEGRESSIF,0,nAnnee,0,0,0,0,1,dDateDebutAnnuite,
dDateFinAnnuite,0)
dDateDebutPeriodeAnnee= IANDEBUT[I]
dDateFinPeriodeAnnee = IANFIN[I]
nNommbredeMois = (dDateFinPeriodeAnnee..Mois -
dDateDebutPeriodeAnnee..Mois) + 1
SI nNommbredeMois > 0 ALORS
mAnnuité = LIB_BASEAMORTISSEMENT *( IAMTAUX[I] / 100)
mAnnuité= ArrondiSupérieur( (mAnnuité * (nNommbredeMois /12)),2)
SINON
mAnnuité = ArrondiSupérieur( LIB_BASEAMORTISSEMENT *( IAMTAUX[I] /
100),1)
FIN
MValeurFictifAnnuiteLineaire =
CalculAnnuitéNormal(1,LIB_BASEAMORTISSEMENT,NDUREE,IAMTAUX[I],dDateDebutAnnuite,dDateFinAnnuite)
SI mAnnuité <= MValeurFictifAnnuiteLineaire ALORS
mAnnuité = MValeurFictifAnnuiteLineaire
FIN
mTauxRéel = Arrondi(( mAnnuité / LIB_BASEAMORTISSEMENT) * 100, 2)
IAMTAUXREEL[I]= mTauxRéel
IAMVALEURDEBUT[I] = mValeurDébutAmortissement
MCumulAmortissement+= mAnnuité
IACUMUL[I] =MCumulAmortissement
IAVALRESIDUELLE[I] =LIB_BASEAMORTISSEMENT - MCumulAmortissement
IAMANNUITE[I] = mAnnuité
mValeurDébutAmortissement-= mAnnuité
SINON
dDateDebutAnnuite..Jour = 1; dDateDebutAnnuite..Mois = 1 ;
dDateFinAnnuite..Année = nAnnee
dDateFinAnnuite..Jour = 31 ; dDateFinAnnuite..Mois = 12 ;
dDateFinAnnuite..Année = nAnnee

TableAjouteLigne(TABLEIA,I,"ImageIA_Calcul.png","calcul3.png",MTAUXDEGRESSIF,0,nAnnee,0,0,0,0,1,dDateDebutAnnuite,
dDateFinAnnuite,0)
// MValeurFictifAnnuiteLineaire =
CalculAnnuitéNormal(i,LIB_BASEAMORTISSEMENT,NDUREE,IAMTAUX[I],dDateDebutAnnuite,dDateFinAnnuite)
mAnnuité= ArrondiSupérieur( IAVALRESIDUELLE[I-1] *( IAMTAUX[I] / 100),1)
// info(MValeurFictifAnnuiteLineaire, mAnnuité, I)
// si mAnnuité <= MValeurFictifAnnuiteLineaire ALORS
// mAnnuité = MValeurFictifAnnuiteLineaire
// FIN
mTauxRéel = Arrondi(( mAnnuité / IAVALRESIDUELLE[I-1]) * 100, 2)
IAMANNUITE[I] = mAnnuité
IAMTAUXREEL[I]= mTauxRéel
IAMVALEURDEBUT[I] = IAVALRESIDUELLE[I-1]
IACUMUL[I] = IACUMUL[I-1] + mAnnuité
IAVALRESIDUELLE[I] =IAVALRESIDUELLE[I-1] - mAnnuité
SI I = nFin ALORS
IAMANNUITE[I] = IAMANNUITE[I]+IAVALRESIDUELLE[I]
IACUMUL[I] = IACUMUL[I-1] +IAMANNUITE[I]
IAVALRESIDUELLE[I] = IAVALRESIDUELLE[I-1] -IAMANNUITE[I]

FIN
FIN
FIN

et le Calcul de l'annuité
PROCÉDURE CalculAnnuitéNormal(_nAnnee= 0, _mMOntant= 0 , _nDuree= 0 ,
_mTAux = 0, _Debut= DateSys(), _dFin = DateSys() )
nNommbredeMois est un entier = 0
dDatedebut est une Date = _Debut
dDatefin est une Date = _dFin
mAnnuite est un monétaire = 0
mTauxNormal est un monétaire = Arrondi( 100 / _nDuree,2)
nNommbredeMois = dDatefin..Mois - dDatedebut..Mois+1
SI nNommbredeMois > 0 ALORS
mAnnuite =( _mMOntant * (mTauxNormal/100) )

mAnnuite= ArrondiSupérieur( (mAnnuite * (nNommbredeMois /12)),2)


SINON
mAnnuite = ArrondiSupérieur( _mMOntant * (mTauxNormal/100) ,2)

FIN

RENVOYER mAnnuite

je peux t'envoyer un petit film pour te montrer ce que cela donne
mais sur mail privé

J'emploie ce code depuis des années pour faire mes amortissements,
Bon Windev
Miembro registrado
558 mensajes
Publicado el 26,agosto 2020 - 11:06
Bonjour,
avec l'adresse mon adresse email : okansofonhy@gmail.com
Merci