Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/01/2011, à 18:27

titi89

simulation de credit

bonjour,

j'ai cherché si quelqu'un avait développé un petit script de simulation de credit mais j'ai pas trouvé
il y a bien plein de simulateurs sur le net mais je voulais un truc à lancer tout de suite et la calculatrice
trop compliquée à mon gout
donc j'en ai fait un en partant du manuel
c'est pas compliqué mais si cela interresse quelqu'un je le poste
juste copier le script dans le dossier personnel  le nommer "credit.sh" et le rendre exécutable
puis ouvrir un terminal et taper ./credit.sh
au debut du script j'ai expliqué comment créer un lanceur et activer l'option garder le terminal ouvert
pour relancer une simulation d'un simple bouton
j'espère qu'il n'y en a pas déjà plusieurs  big_smile

#!/bin/bash

#script réalisé par titi89
#vous pouvez le modifier à votre guise donnez juste vos améliorations
#ce script est fait juste pour donner une idée d'une simulation de crédit banquaire
#placez le dans votre home nommez le "credit.sh" et donnez lui les droits d'exécution
#commande à renseigner pour un lanceur: "gnome-terminal  -x ./credit.sh" et dans le terminal
#menu edition - edition du profil - Titre et commande - conserver le terminal ouvert 
#cela permet de relancer une nouvelle simulation à l'aide d'un bouton dans le terminal
#sinon pour le lancer ouvrir un terminal et tapez "./credit.sh" sans les ".
#utilise gedit pour impression si besoin
 
echo
echo "Étant donné le montant emprunté, le taux d'intérêt ,la durée en mois et le nombre d'échéences par an"
echo "calcul la simulation d'un credit."
echo "pour avoir un credit sur 1 an donnez 12 échéences et 12 mois de durée"
echo "pour avoir un credit avec annuitées donnez 1 échéence annuelle et durée en mois soit 60 mois pour 5 ans"
echo "il peut y avoir un ecart de quelques centimes avec la banque du fait des arrondis"

echo
echo -n "Entrez le montant principal (sans virgule)   "
read principal
capital=$principal
echo -n "Entrez le taux d'intérêt (exemple:3.9 pour 3.9%)   "
  # 
read taux_interet
echo -n "Entrez le nombre d'échéence par an    "
read nb_echeenceparan
echo -n "Entrez la durée du credit en mois    "
read dureecreditenmois

nb_echeence=$(echo "scale=0; $dureecreditenmois/12*$nb_echeenceparan" | bc)
  echo "Montant principal:  $principal €" > amorti.txt
echo "Taux d'intérèts: $taux_interet  %" >> amorti.txt
echo "Nombre d'échéences par an: $nb_echeenceparan" >> amorti.txt
echo "Durée du credit en mois: $dureecreditenmois" >> amorti.txt

 taux_interet=$(echo "scale=9; $taux_interet/100.0" | bc)  
 


 
 taux_periodique=$(echo "scale=9; $taux_interet/$nb_echeenceparan" | bc)
 
echeence=$(echo "scale=2; $principal*$taux_periodique*(1+$taux_periodique)^$nb_echeence/((1+$taux_periodique)^$nb_echeence-1)" | bc)
 echo; echo "Un peu de patience ...................................................."

 echo "nb|CRD|echeence|dontCAP|dontINT" > amortissement.txt
 totalINT="0"
for ((x=1; x <= $nb_echeence-1; x++))
 do

interets=$(echo "scale=2; $principal*$taux_periodique" /1 | bc)
   CRD=$(echo "scale=2; $principal-($echeence-$interets)" /1 | bc)
  CAP=$(echo "scale=2; $echeence-$interets" /1 | bc)
INT=$(echo "scale=2; $echeence-$CAP" /1 | bc)
 echo "$x|$principal €|$echeence €|$CAP €|$INT €" >> amortissement.txt
 principal=$CRD
totalINT=$(echo "scale=2;$totalINT+$INT" /1 | bc)
done
nb=$nb_echeence
interets=$(echo "scale=2; $principal*$taux_periodique" /1 | bc)
   CRD=$(echo "scale=2; $principal-($echeence-$interets)" /1 | bc)
  CAP=$(echo "scale=2; $echeence-$CRD" /1 | bc)
INT=$(echo "scale=2; $echeence-$principal" /1 | bc)
totalINT=$(echo "scale=2;$totalINT+$INT" /1 | bc)
couttotal=$(echo "scale=2;$totalINT*100/$capital" /1 | bc)
echo "$nb|$principal €|$echeence €|$principal €|$INT €" >> amortissement.txt
 
echo "Montant de l'échéence: $echeence €" >> amorti.txt
echo "coût du credit:  $totalINT €" >> amorti.txt
echo "coût total en % du credit:  $couttotal" >> amorti.txt
echo "" >> amorti.txt
echo "" >> amorti.txt
echo "Tableau d'amortissement:" >> amorti.txt
echo "" >> amorti.txt
 echo
echo "Montant emprunté:  $capital €"
echo "Taux d'intérêts:  $(echo "scale=2;$taux_interet*100" /1 | bc)  %"
echo "Nombre d'échéences annuelle:  $nb_echeenceparan"
echo "Durée total du credit en mois:  $dureecreditenmois"
 echo "paiement periodique =  $echeence  €"
echo "coût du credit:  $totalINT €"
echo "coût total en % du credit:  $couttotal"
    
 echo
echo "tableau d'amortissement:"
echo
column -t -s '|' amortissement.txt

column -t -s '|' amortissement.txt >> amorti.txt
echo ""
echo ""
echo -n "Affichez le tableau d'amortissement dans gedit oui ou non taper o ou n?    "
read reponse
echo ""
echo ""
if [ "$reponse" = "o" ]; then
gedit amorti.txt
else
exit 0

fi

 exit 0

 

on peut afficher le tableau d'ammortissement dans gedit
voilà
@+

Hors ligne

#2 Le 28/01/2011, à 00:23

titi89

Re : simulation de credit

bonjour,
désolé je suis pas assez fort big_smile
j'ai besoin de plus d'explications
j'ai regardé read -prompt mais je vois pas que fait exactement -p
$(( 1 + 1 )) dans le sens que l'on peut faire les calculs sans bc même avec les virgules?

merci pour tes conseils
@+

Hors ligne

#3 Le 28/01/2011, à 00:30

titi89

Re : simulation de credit

ola j'ai des visions yikes

Hors ligne

#4 Le 28/01/2011, à 05:21

ehmicky

Re : simulation de credit

Non non j'ai supprimé car je disais des bêtises justement parce que j'ai vu après coup que tu avais besoin de floats.
read -p te permet de réduire deux lignes en une seule : echo "blabla" ; read VAR -> read -p "blabla" VAR


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#5 Le 28/01/2011, à 12:20

titi89

Re : simulation de credit

ok merci

pour ceux que cela interressent:
les lignes:

echo -n "Entrez le montant principal (sans virgule)   "
read  principal

peuvent être remplacées par:

read -p "Entrez le montant principal (sans virgule)   " principal

une seule ligne à la place de 2

voilà
merci
@+

Hors ligne

#6 Le 30/01/2011, à 16:51

titi89

Re : simulation de credit

bonjour,
petite précision:
dans le cas ou d'annuitées le nombre de mois total doit être égal à un multiple de 12
ne gère pas les différés
c'est juste pour se donner une idée

je viens de découvrir yad
pour ceux qui voudraient essayer:
yad

code à placer dans un fichier "YadCredit.sh" dans votre Home



#!/bin/bash

capital=$(yad --width 300 --entry --title "Capital" \
    --button="gtk-ok:0" --button="gtk-close:1" \
    --text "Entrez le montant principal (sans virgule):")
 principal=$capital
ret=$?  
[[ $ret -eq 1 ]] && exit 0

if [[ $ret -eq 0 ]]; then
     taux_interet=$(yad --width 300 --entry --title "Taux d'intérèts" \
    --button="gtk-ok:0" --button="gtk-close:1" \
    --text "Entrez le taux d'intérêt (exemple:3.9 pour 3.9%):")
ret=$? 
         [[ $ret -eq 1 ]] && exit 0

if [[ $ret -eq 0 ]]; then
nb_echeenceparan=$(yad --width 300 --entry --title "Echéences par an" \
    --button="gtk-ok:0" --button="gtk-close:1" \
    --text "Entrez le nombre d'échéence par an:")
ret=$? 
  [[ $ret -eq 1 ]] && exit 0

if [[ $ret -eq 0 ]]; then
dureecreditenmois=$(yad --width 300 --entry --title "Durée totale en mois" \
    --button="gtk-ok:0" --button="gtk-close:1" \
    --text "Entrez la durée du credit en mois:")
 fi
fi
fi

annee=$(echo "scale=0; $dureecreditenmois/12" | bc)
moissup=$(echo "scale=0; $dureecreditenmois-($annee*12)" | bc) 
nb_echeence=$(echo "scale=0; $dureecreditenmois/12*$nb_echeenceparan+$moissup" | bc)
echo "Montant principal:  $principal €" > $HOME/amorti.txt
echo "Taux d'intérèts: $taux_interet  %" >> $HOME/amorti.txt
echo "Nombre d'échéences par an: $nb_echeenceparan" >> $HOME/amorti.txt
echo "Durée du credit en mois: $dureecreditenmois" >> $HOME/amorti.txt

 taux_interet=$(echo "scale=9; $taux_interet/100.0" | bc)  
 


 
 taux_periodique=$(echo "scale=9; $taux_interet/$nb_echeenceparan" | bc)
 
echeence=$(echo "scale=2; $principal*$taux_periodique*(1+$taux_periodique)^$nb_echeence/((1+$taux_periodique)^$nb_echeence-1)" | bc)
  

 echo "nb|CRD|echeence|dontCAP|dontINT" > $HOME/amortissement.txt
 totalINT="0"
for ((x=1; x <= $nb_echeence-1; x++))
 do

interets=$(echo "scale=2; $principal*$taux_periodique" /1 | bc)
   CRD=$(echo "scale=2; $principal-($echeence-$interets)" /1 | bc)
  CAP=$(echo "scale=2; $echeence-$interets" /1 | bc)
INT=$(echo "scale=2; $echeence-$CAP" /1 | bc)
 echo "$x|$principal €|$echeence €|$CAP €|$INT €" >> $HOME/amortissement.txt
 principal=$CRD
totalINT=$(echo "scale=2;$totalINT+$INT" /1 | bc)
done
nb=$nb_echeence
interets=$(echo "scale=2; $principal*$taux_periodique" /1 | bc)
   CRD=$(echo "scale=2; $principal-($echeence-$interets)" /1 | bc)
  CAP=$(echo "scale=2; $echeence-$CRD" /1 | bc)
INT=$(echo "scale=2; $echeence-$principal" /1 | bc)
totalINT=$(echo "scale=2;$totalINT+$INT" /1 | bc)
couttotal=$(echo "scale=2;$totalINT*100/$capital" /1 | bc)
echo "$nb|$principal €|$echeence €|$principal €|$INT €" >> $HOME/amortissement.txt
 
echo "Montant de l'échéence: $echeence €" >> $HOME/amorti.txt
echo "coût du credit:  $totalINT €" >> $HOME/amorti.txt
echo "coût total en % du credit:  $couttotal" >> $HOME/amorti.txt
echo "" >> $HOME/amorti.txt
echo "" >> $HOME/amorti.txt
echo "Tableau d'amortissement:" >> $HOME/amorti.txt
echo "" >> $HOME/amorti.txt
 
column -t -s '|' $HOME/amortissement.txt >> $HOME/amorti.txt
  while read ligne
do
echo "$(cut -d "|" -f1 <<< $ligne)"
echo "$(cut -d "|" -f2 <<< $ligne)"
echo "$(cut -d "|" -f3 <<< $ligne)"
echo "$(cut -d "|" -f4 <<< $ligne)"
echo "$(cut -d "|" -f5 <<< $ligne)"
done < $HOME/amortissement.txt | yad --width=500 --height=600 --title="Simulation de credit" \
           --button="relancer:2" --button="gtk-ok:0" --button="gtk-close:1" \
           --text="Montant emprunté:  $capital €\nTaux d'intérêts:  $(echo "scale=2;$taux_interet*100" /1 | bc)  %\nNombre d'échéences annuelle:  $nb_echeenceparan\nDurée total du credit en mois:  $dureecreditenmois\npaiement periodique =  $echeence  €\ncoût du credit:  $totalINT €\ncoût total en % du credit:  $couttotal\n\n\nTableau d'amortissement" --list --print-all \
           --multiple --column="nb" --column="CRD" --column="Echeence" --column="dontCAP" --column="dontINT" 
ret=$?  
[[ $ret -eq 1 ]] && exit 0

if [[ $ret -eq 0 ]]; then
gedit $HOME/amorti.txt
fi
if [[ $ret -eq 2 ]]; then
$HOME/YadCredit.sh
fi

 exit 0

 

@+

Hors ligne

#7 Le 27/04/2018, à 16:24

call_me_vlad

Re : simulation de credit

Salut !
J'ai développé un simulateur de crédit avec pas mal de fonctionnalités, dans le cadre d'un projet perso. Par contre, il n'est pas Linux à proprement parler, c'est une appli web Laravel :
https://simulation.dr-credit.fr/
Si ça peut t'aider, j'ai trouvé la plupart des formules sur les sites :
- https://www.ilemaths.net/calcul-credit.php
- https://www.creditquid.com/credit-immob … iques.html
Je peux faire tourner leur traduction en PHP si ça vous intéresse smile
++

Hors ligne

#8 Le 27/04/2018, à 17:22

kholo

Re : simulation de credit

salut,
et en javascript ?
y a des trucs sympa

Hors ligne