begin process at 2010 02 09 18:18:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > CALCUL INTERETS : AMORTISSEMENT CONSTANT ET VARIABLE AVEC DIFFERE OU NON

CALCUL INTERETS : AMORTISSEMENT CONSTANT ET VARIABLE AVEC DIFFERE OU NON


 Information sur la source

Note :
Aucune note
Catégorie :Base de Donnees Classé sous :calcul, interets, amortissement -variable, prêt, amortissement -constant Niveau :Débutant Date de création :15/10/2007 Date de mise à jour :17/10/2007 20:14:07 Vu / téléchargé :12 648 / 544

Auteur : tgr74

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

c'est mon premier prog! indulgence

ce petit prog permet de calculer l'amortissement constant ou variable d'un prêt et prend en compte le delai de differé ou pas.

le fichier "TECHEANCE_CREDIT" du dossier interets est le fichier de DB;
creer un alias "interet" pour la connexion.

encore une fois de plus votre indulgence quant à la qualité du prog

Source

  • unit Calcul_Interet;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, Grids, DBGrids, Menus, DB, DBTables, Buttons, StdCtrls, Mask,
  • ExtCtrls, Math, IniFiles;
  • type
  • TF_Calcul_Interet = class(TForm)
  • Label24: TLabel;
  • Label20: TLabel;
  • Label58: TLabel;
  • Label25: TLabel;
  • Bevel5: TBevel;
  • Label1: TLabel;
  • SpeedButton1: TSpeedButton;
  • RadioGroupTypeAmort: TRadioGroup;
  • RadioGroup2: TRadioGroup;
  • EditMontant: TEdit;
  • MaskEditDateDde: TMaskEdit;
  • EditDureeDiffere: TEdit;
  • EditDuree: TEdit;
  • MaskEditTaux: TMaskEdit;
  • ButtonSaisies: TButton;
  • BitBtnCalcul: TBitBtn;
  • DataSource2: TDataSource;
  • Table1: TTable;
  • Table1PECHEANCE: TIntegerField;
  • Table1DATEECHEANCE: TDateField;
  • Table1MENSUALITE: TFloatField;
  • Table1CAPITALE_REST: TFloatField;
  • Table1INTERETS: TFloatField;
  • Table1AMORTISSEMENT: TFloatField;
  • Table1MONTANTTVA: TFloatField;
  • Table1MENSUALITE_TOTALE: TFloatField;
  • Database1: TDatabase;
  • DBGrid4: TDBGrid;
  • procedure BitBtnCalculClick(Sender: TObject);
  • procedure ButtonSaisiesClick(Sender: TObject);
  • procedure EditMontantKeyPress(Sender: TObject; var Key: Char);
  • procedure EditDureeKeyPress(Sender: TObject; var Key: Char);
  • procedure EditDureeDiffereKeyPress(Sender: TObject; var Key: Char);
  • procedure MaskEditDateDdeKeyPress(Sender: TObject; var Key: Char);
  • procedure SpeedButton1Click(Sender: TObject);
  • procedure RadioGroupTypeAmortClick(Sender: TObject);
  • procedure RadioGroup2Click(Sender: TObject);
  • procedure FormShow(Sender: TObject);
  • procedure FormKeyPress(Sender: TObject; var Key: Char);
  • procedure CreationAlias(NomAlias,DataDir:String);
  • private
  • { Private declarations }
  • public
  • { Public declarations }
  • end;
  • var
  • F_Calcul_Interet: TF_Calcul_Interet;
  • MontantLigne, Pduree, Amortissement,duree, MontantInterets, MontantP, TVA, Annuite :double;
  • TauxP, TauxTVA, DelaiP, differe :double;
  • Year, Month, Day: Word;
  • periode,Temps, temps1, Lemois, Annees, Lejour, an, mois, jour, i:integer;
  • TypeAmort, etat, Interet_Alias :string;
  • debut, fin, DPEcheance :Tdate;
  • implementation
  • uses Apropos;
  • {$R *.dfm}
  • procedure TF_Calcul_Interet.BitBtnCalculClick(Sender: TObject);
  • Var cumul :double;
  • begin
  • RadioGroup2Click(Sender);
  • RadioGroupTypeAmortClick(Sender);
  • if RadioGroup2.ItemIndex <> -1 then
  • begin
  • if RadioGroupTypeAmort.ItemIndex <> -1 then
  • begin
  • if EditMontant.Text <>'' then
  • begin
  • if EditDuree.Text <>'' then
  • begin
  • if MaskEditDateDde.Text <>' / / ' then
  • begin
  • if MaskEditTaux.Text <>' , ' then
  • begin
  • TauxTVA :=18.25;
  • if RadioGroupTypeAmort.ItemIndex =0 then
  • begin
  • //Cas amortissement constant
  • Table1.Close;
  • Table1.EmptyTable;
  • Table1.Open;
  • If RadioGroup2.ItemIndex =1 then
  • begin
  • //Cas amortisssement constant sans differé
  • DecodeDate(strtodate(MaskEditDateDde.Text), Year, Month, Day);
  • Annees := Year;
  • Lemois := Month;
  • Lejour := Day;
  • MontantP:=strtofloat(Editmontant.Text);
  • Tauxp:= strtofloat(MaskEditTaux.Text);
  • temps:=round(strtofloat(editduree.Text));
  • mois:=Lemois;
  • an:=annees;
  • jour:=Lejour;
  • periode:=1;
  • CUMUL :=0;
  • while (periode<=temps) do
  • begin
  • Amortissement:=round(MontantP/temps);
  • MontantInterets:=round((MontantP-CUMUL)* tauxp/100);
  • Annuite:=Amortissement+MontantInterets;
  • TVA:=round(MontantInterets*tauxtva/100);
  • Table1.Append;
  • Table1PECHEANCE.Value :=periode;
  • Table1DATEECHEANCE.Value :=Encodedate(an, mois, jour);
  • Table1MENSUALITE.Value :=Annuite;
  • Table1CAPITALE_REST.Value :=MontantP-CUMUL;
  • Table1AMORTISSEMENT.Value :=Amortissement;
  • Table1INTERETS.Value :=MontantInterets;
  • Table1MONTANTTVA.Value :=TVA;
  • Table1MENSUALITE_TOTALE.VALUE :=Annuite+tva;
  • Table1.Post;
  • if mois=12 then
  • begin
  • inc(an);
  • mois:=1;
  • end
  • else
  • begin
  • inc(mois);
  • end;
  • if mois=2 then
  • begin
  • If jour=29 then
  • begin
  • if IsLeapYear(an) then Jour:=jour else Jour := 28;
  • end
  • else if jour=30 then
  • begin
  • if IsLeapYear(an) then Jour:=29 else Jour := 28;
  • end
  • else if jour=31 then
  • begin
  • if IsLeapYear(an) then Jour:=29 else Jour := 28;
  • end
  • else jour:=Lejour;
  • end
  • else if ((mois=4) or (mois=6) or (mois=9) or (mois=11)) and (jour=31) then
  • begin
  • jour:=30;
  • end
  • else jour:=lejour;
  • periode:=periode+1;
  • cumul:=cumul+Amortissement;
  • end;
  • end
  • else
  • begin
  • //Cas amortissement constant avec differé
  • DecodeDate(strtodate(MaskEditDateDde.Text), Year, Month, Day);
  • Annees := Year;
  • Lemois := Month;
  • Lejour := Day;
  • MontantP:=strtofloat(Editmontant.Text);
  • tauxp :=strtofloat(MaskEditTaux.Text);
  • differe :=round(strtofloat(EditDureeDiffere.Text));
  • temps :=round(strtofloat(editduree.Text)+differe);
  • mois :=Lemois;
  • jour :=lejour;
  • an :=annees;
  • periode:=1;
  • CUMUL :=0;
  • while periode<=temps do
  • begin
  • if periode<=differe then
  • begin
  • //Amortissement:=round(MontantP/strtofloat(editduree.Text));
  • MontantInterets:=round((MontantP* tauxp)/100);
  • //Annuite:=Amortissement+interet;
  • TVA:=round(MontantInterets*tauxtva/100);
  • Table1.Append;
  • Table1PECHEANCE.Value :=periode;
  • Table1DATEECHEANCE.Value :=Encodedate(an, mois, jour);
  • Table1MENSUALITE.Value :=MontantInterets;
  • Table1CAPITALE_REST.Value :=MontantP;
  • Table1AMORTISSEMENT.Value :=Amortissement;
  • Table1INTERETS.Value :=MontantInterets;
  • Table1MONTANTTVA.Value :=TVA;
  • Table1MENSUALITE_TOTALE.VALUE :=Annuite+tva;
  • Table1.Post;
  • end
  • Else
  • begin
  • Amortissement:=round(MontantP/strtofloat(editduree.Text));
  • MontantInterets:=round((MontantP-CUMUL)* tauxp/100);
  • Annuite:=Amortissement+MontantInterets;
  • TVA:=round(MontantInterets*TauxTVA/100);
  • Table1.Append;
  • Table1PECHEANCE.Value :=periode;
  • Table1DATEECHEANCE.Value :=Encodedate(an, mois, jour);
  • Table1MENSUALITE.Value :=Annuite;
  • Table1CAPITALE_REST.Value :=MontantP-CUMUL;
  • Table1AMORTISSEMENT.Value :=Amortissement;
  • Table1INTERETS.Value :=MontantInterets;
  • Table1MONTANTTVA.Value :=TVA;
  • Table1MENSUALITE_TOTALE.VALUE :=Annuite+tva;
  • Table1.Post;
  • end;
  • if mois=12 then
  • begin
  • inc(an);
  • mois:=1;
  • // Lejour:=lejour;
  • end
  • else
  • begin
  • inc(mois);
  • end;
  • if mois=2 then
  • begin
  • If jour=29 then
  • begin
  • if IsLeapYear(an) then Jour:=jour else Jour := 28;
  • end
  • else if jour=30 then
  • begin
  • if IsLeapYear(an) then Jour:=29 else Jour := 28;
  • end
  • else if jour=31 then
  • begin
  • if IsLeapYear(an) then Jour:=29 else Jour := 28;
  • end
  • else jour:=Lejour;
  • end
  • else if ((mois=4) or (mois=6) or (mois=9) or (mois=11)) and (jour=31) then
  • begin
  • jour:=30;
  • end
  • else jour:=lejour;
  • periode:=periode+1;
  • cumul:=cumul+Amortissement;
  • end;
  • end;
  • end
  • else
  • begin
  • //CAs amortissement variable
  • Table1.Close;
  • Table1.EmptyTable;
  • Table1.Open;
  • If RadioGroup2.ItemIndex =1 then
  • begin
  • //CAs amortissement variable sans differé
  • DecodeDate(strtodate(MaskEditDateDde.Text), Year, Month, Day);
  • Annees := Year;
  • Lemois := Month;
  • Lejour := Day;
  • MontantP:=strtofloat(Editmontant.Text);
  • tauxP:=strtofloat(MaskEditTaux.Text);
  • temps:=round(strtofloat(editduree.Text));
  • mois:=Lemois;
  • an:=annees;
  • jour:=lejour;
  • periode:=1;
  • CUMUL :=0;
  • while (periode<=temps) do
  • begin
  • Annuite:=round((MontantP*tauxp/100)/(1-power((1+tauxp/100),-temps)));
  • MontantInterets:=round((MontantP-CUMUL)* TAUXP/100);
  • Amortissement:=Annuite-MontantInterets;
  • TVA:=round(MontantInterets*TauxTVA/100);
  • Table1.Append;
  • Table1PECHEANCE.Value :=periode;
  • Table1DATEECHEANCE.Value :=Encodedate(an, mois, jour);
  • Table1MENSUALITE.Value :=Annuite;
  • Table1CAPITALE_REST.Value :=MontantP-CUMUL;
  • Table1AMORTISSEMENT.Value :=Amortissement;
  • Table1INTERETS.Value :=MontantInterets;
  • Table1MONTANTTVA.Value :=TVA;
  • Table1MENSUALITE_TOTALE.VALUE :=Annuite+tva;
  • Table1.Post;
  • if mois=12 then
  • begin
  • inc(an);
  • mois:=1;
  • // Lejour:=lejour;
  • end
  • else
  • begin
  • inc(mois);
  • end;
  • if mois=2 then
  • begin
  • If jour=29 then
  • begin
  • if IsLeapYear(an) then Jour:=jour else Jour := 28;
  • end
  • else if jour=30 then
  • begin
  • if IsLeapYear(an) then Jour:=29 else Jour := 28;
  • end
  • else if jour=31 then
  • begin
  • if IsLeapYear(an) then Jour:=29 else Jour := 28;
  • end
  • else jour:=Lejour;
  • end
  • else if ((mois=4) or (mois=6) or (mois=9) or (mois=11)) and (jour=31) then
  • begin
  • jour:=30;
  • end
  • else jour:=lejour;
  • periode:=periode+1;
  • cumul:=cumul+Amortissement;
  • end;
  • end
  • else
  • begin
  • //Cas amortissement variable avec differé
  • DecodeDate(strtodate(MaskEditDateDde.Text), Year, Month, Day);
  • Annees := Year;
  • Lemois := Month;
  • Lejour := Day;
  • MontantP:=strtofloat(Editmontant.Text);
  • tauxP:=strtofloat(MaskEditTaux.Text);
  • differe:=round(strtofloat(EditDureeDiffere.Text));
  • temps:=round(strtofloat(editduree.Text));
  • temps1:=round(strtofloat(editduree.Text)+differe);
  • mois:=Lemois;
  • an:=annees;
  • jour:=Lejour;
  • periode:=1;
  • CUMUL :=0;
  • while (periode<=temps1) do
  • begin
  • if periode<=differe then
  • begin
  • //Amortissement:=round(MontantP/strtofloat(editduree.Text));
  • MontantInterets:=round((MontantP)* TAUXP/100);
  • //Annuite:=Amortissement+interet;
  • TVA:=round(MontantInterets*TauxTVA/100);
  • Table1.Append;
  • Table1PECHEANCE.Value :=periode;
  • Table1DATEECHEANCE.Value :=Encodedate(an, mois, jour);
  • Table1MENSUALITE.Value :=Annuite;
  • Table1CAPITALE_REST.Value :=MontantP-CUMUL;
  • Table1AMORTISSEMENT.Value :=Amortissement;
  • Table1INTERETS.Value :=MontantInterets;
  • Table1MONTANTTVA.Value :=TVA;
  • Table1MENSUALITE_TOTALE.VALUE :=Annuite+tva;
  • Table1.Post;
  • end
  • Else
  • begin
  • Annuite:=round((MontantP*tauxp/100)/(1-power((1+tauxp/100),-temps)));
  • MontantInterets:=round((MontantP-CUMUL)* TAUXP/100);
  • Amortissement:=Annuite-MontantInterets;
  • TVA:=round(MontantInterets*TauxTVA/100);
  • Table1.Append;
  • Table1PECHEANCE.Value :=periode;
  • Table1DATEECHEANCE.Value :=Encodedate(an, mois, jour);
  • Table1MENSUALITE.Value :=Annuite;
  • Table1CAPITALE_REST.Value :=MontantP-CUMUL;
  • Table1AMORTISSEMENT.Value :=Amortissement;
  • Table1INTERETS.Value :=MontantInterets;
  • Table1MONTANTTVA.Value :=TVA;
  • Table1MENSUALITE_TOTALE.VALUE :=Annuite+tva;
  • Table1.Post;
  • end;
  • if mois=12 then
  • begin
  • inc(an);
  • mois:=1;
  • // Lejour:=lejour;
  • end
  • else
  • begin
  • inc(mois);
  • end;
  • if mois=2 then
  • begin
  • If jour=29 then
  • begin
  • if IsLeapYear(an) then Jour:=jour else Jour := 28;
  • end
  • else if jour=30 then
  • begin
  • if IsLeapYear(an) then Jour:=29 else Jour := 28;
  • end
  • else if jour=31 then
  • begin
  • if IsLeapYear(an) then Jour:=29 else Jour := 28;
  • end
  • else jour:=Lejour;
  • end
  • else if ((mois=4) or (mois=6) or (mois=9) or (mois=11)) and (jour=31) then
  • begin
  • jour:=30;
  • end
  • else jour:=lejour;
  • periode:=periode+1;
  • cumul:=cumul+Amortissement;
  • end;
  • end;
  • ButtonSaisies.SetFocus;
  • end;
  • end
  • else
  • begin
  • showmessage('Préciser le taux d''intérêt SVP.');
  • MaskEditTaux.SetFocus;
  • end;
  • end
  • else
  • begin
  • showmessage('Préciser la date de la première écheance SVP.');
  • MaskEditDateDde.SetFocus;
  • end;
  • end
  • else
  • begin
  • showmessage('Préciser la durée du crédit SVP.');
  • EditDuree.SetFocus;
  • end;
  • end
  • else
  • begin
  • showmessage('Préciser le capital du crédit SVP.');
  • EditMontant.SetFocus;
  • end;
  • end
  • else
  • begin
  • showmessage('Préciser le type d''amortissement SVP.');
  • end;
  • end
  • else
  • begin
  • showmessage('Préciser s''il y a différé ou non.');
  • end;
  • BitBtnCalcul.Enabled :=false;
  • ButtonSaisies.Enabled :=true;
  • ButtonSaisies.SetFocus;
  • end;
  • procedure TF_Calcul_Interet.ButtonSaisiesClick(Sender: TObject);
  • begin
  • RadioGroupTypeAmort.ItemIndex :=-1;
  • RadioGroup2.ItemIndex :=-1;
  • EditMontant.SetFocus;
  • EditMontant.Clear;
  • EditDuree.Clear;
  • EditDureeDiffere.Clear;
  • MaskEditDateDde.Text :='';
  • MaskEditTaux.Text :='';
  • BitBtnCalcul.Enabled :=true;
  • ButtonSaisies.Enabled :=false;
  • //Vider la table
  • Table1.Close;
  • Table1.EmptyTable;
  • Table1.Open;
  • end;
  • procedure TF_Calcul_Interet.EditMontantKeyPress(Sender: TObject;
  • var Key: Char);
  • begin
  • if not (Key in ['0'..'9', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE), Chr(VK_RETURN)])then
  • Key := #0;
  • if Key = DecimalSeparator then
  • if Pos(DecimalSeparator, EditMontant.Text) <> 0 then
  • Key := #0;
  • if key=#13 then MaskEditDateDde.SetFocus;
  • end;
  • procedure TF_Calcul_Interet.EditDureeKeyPress(Sender: TObject;
  • var Key: Char);
  • begin
  • if not (Key in ['0'..'9', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE), Chr(VK_RETURN)])then
  • Key := #0;
  • if Key = DecimalSeparator then
  • if Pos(DecimalSeparator, EditDuree.Text) <> 0 then
  • Key := #0;
  • if key=#13 then MaskEditTaux.SetFocus;
  • end;
  • procedure TF_Calcul_Interet.EditDureeDiffereKeyPress(Sender: TObject;
  • var Key: Char);
  • begin
  • if not (Key in ['0'..'9', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE), Chr(VK_RETURN)])then
  • Key := #0;
  • if Key = DecimalSeparator then
  • if Pos(DecimalSeparator, EditDureeDiffere.Text) <> 0 then
  • Key := #0;
  • if key=#13 then BitBtnCalcul.SetFocus;
  • end;
  • procedure TF_Calcul_Interet.MaskEditDateDdeKeyPress(Sender: TObject;
  • var Key: Char);
  • begin
  • if key=#13 then EditDuree.SetFocus;
  • end;
  • procedure TF_Calcul_Interet.SpeedButton1Click(Sender: TObject);
  • begin
  • F_APropos.Show;
  • end;
  • procedure TF_Calcul_Interet.RadioGroupTypeAmortClick(Sender: TObject);
  • begin
  • if RadioGroupTypeAmort.ItemIndex =0 then typeamort:='C'
  • else typeamort:='V';
  • end;
  • procedure TF_Calcul_Interet.RadioGroup2Click(Sender: TObject);
  • begin
  • If RadioGroup2.ItemIndex =1 then
  • begin
  • EditDureeDiffere.Enabled :=false;
  • EditDureeDiffere.Clear;
  • end
  • else
  • begin
  • EditDureeDiffere.Enabled :=true;
  • EditDureeDiffere.SetFocus;
  • end;
  • end;
  • //MISE A JOUR
  • procedure TF_Calcul_Interet.FormShow(Sender: TObject);
  • Var DataDir,NomAlias:string;
  • I:Integer;
  • begin
  • Top := 90;
  • Left := 168;
  • // appel de la procedure creation alias
  • dataDir:='C:\Interets';
  • CreateDir(DataDir);
  • NomAlias:='Interet_Alias';
  • CreationAlias(NomAlias,datadir);
  • database1.Close;
  • database1.DatabaseName :='Gestion';
  • database1.AliasName := NomAlias;
  • database1.Open;
  • database1.Connected :=true;
  • Table1.Close;
  • Table1.DatabaseName :='Gestion';
  • Table1.TableName :='TECHEANCE_CREDIT';
  • Table1.TableType :=ttParadox;
  • Table1.EmptyTable;
  • Table1.Open;
  • end;
  • procedure TF_Calcul_Interet.FormKeyPress(Sender: TObject; var Key: Char);
  • begin
  • if Key = #27 then Close;
  • end;
  • //MISE A JOUR POUR LA Création de l''alias AUTOMATIQUE
  • // Ici la procedur creation alias paradox
  • procedure TF_Calcul_Interet.CreationAlias(NomAlias,DataDir:String);
  • begin
  • if not Session.IsAlias(NomAlias) then
  • session.AddStandardAlias(NomAlias,DataDir,'PARADOX');
  • end;
  • end.
unit Calcul_Interet;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, Menus, DB, DBTables, Buttons, StdCtrls, Mask,
  ExtCtrls, Math, IniFiles;

type
  TF_Calcul_Interet = class(TForm)
    Label24: TLabel;
    Label20: TLabel;
    Label58: TLabel;
    Label25: TLabel;
    Bevel5: TBevel;
    Label1: TLabel;
    SpeedButton1: TSpeedButton;
    RadioGroupTypeAmort: TRadioGroup;
    RadioGroup2: TRadioGroup;
    EditMontant: TEdit;
    MaskEditDateDde: TMaskEdit;
    EditDureeDiffere: TEdit;
    EditDuree: TEdit;
    MaskEditTaux: TMaskEdit;
    ButtonSaisies: TButton;
    BitBtnCalcul: TBitBtn;
    DataSource2: TDataSource;
    Table1: TTable;
    Table1PECHEANCE: TIntegerField;
    Table1DATEECHEANCE: TDateField;
    Table1MENSUALITE: TFloatField;
    Table1CAPITALE_REST: TFloatField;
    Table1INTERETS: TFloatField;
    Table1AMORTISSEMENT: TFloatField;
    Table1MONTANTTVA: TFloatField;
    Table1MENSUALITE_TOTALE: TFloatField;
    Database1: TDatabase;
    DBGrid4: TDBGrid;
    procedure BitBtnCalculClick(Sender: TObject);
    procedure ButtonSaisiesClick(Sender: TObject);
    procedure EditMontantKeyPress(Sender: TObject; var Key: Char);
    procedure EditDureeKeyPress(Sender: TObject; var Key: Char);
    procedure EditDureeDiffereKeyPress(Sender: TObject; var Key: Char);
    procedure MaskEditDateDdeKeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton1Click(Sender: TObject);
    procedure RadioGroupTypeAmortClick(Sender: TObject);
    procedure RadioGroup2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure CreationAlias(NomAlias,DataDir:String);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_Calcul_Interet: TF_Calcul_Interet;

  MontantLigne, Pduree, Amortissement,duree, MontantInterets, MontantP, TVA, Annuite :double;
  TauxP, TauxTVA, DelaiP, differe  :double;

  Year, Month, Day: Word;

  periode,Temps, temps1, Lemois, Annees, Lejour, an, mois, jour, i:integer;
  
  TypeAmort, etat, Interet_Alias :string;
  debut, fin, DPEcheance :Tdate;
implementation

uses Apropos;

{$R *.dfm}

procedure TF_Calcul_Interet.BitBtnCalculClick(Sender: TObject);
Var cumul :double;
begin

 RadioGroup2Click(Sender);
 RadioGroupTypeAmortClick(Sender);

 if RadioGroup2.ItemIndex <> -1 then
 begin
   if RadioGroupTypeAmort.ItemIndex <> -1 then
   begin
     if EditMontant.Text <>'' then
     begin
      if EditDuree.Text <>'' then
      begin
        if MaskEditDateDde.Text <>'  /  /    ' then
        begin
          if MaskEditTaux.Text <>'  ,  ' then
          begin
             TauxTVA :=18.25;

             if RadioGroupTypeAmort.ItemIndex =0 then
             begin
               //Cas amortissement constant
               Table1.Close;
               Table1.EmptyTable;
               Table1.Open;

               If RadioGroup2.ItemIndex =1 then
               begin
                 //Cas amortisssement constant sans differé
                 DecodeDate(strtodate(MaskEditDateDde.Text), Year, Month, Day);

                 Annees := Year;
                 Lemois := Month;
                 Lejour := Day;

                 MontantP:=strtofloat(Editmontant.Text);
                 Tauxp:= strtofloat(MaskEditTaux.Text);
                 temps:=round(strtofloat(editduree.Text));


                 mois:=Lemois;
                 an:=annees;
                 jour:=Lejour;

                 periode:=1;
                 CUMUL :=0;
                 while (periode<=temps) do
                 begin
                   Amortissement:=round(MontantP/temps);
                   MontantInterets:=round((MontantP-CUMUL)* tauxp/100);
                   Annuite:=Amortissement+MontantInterets;
                   TVA:=round(MontantInterets*tauxtva/100);

                   Table1.Append;
                   Table1PECHEANCE.Value     :=periode;
                   Table1DATEECHEANCE.Value  :=Encodedate(an, mois, jour);
                   Table1MENSUALITE.Value    :=Annuite;
                   Table1CAPITALE_REST.Value :=MontantP-CUMUL;
                   Table1AMORTISSEMENT.Value :=Amortissement;
                   Table1INTERETS.Value      :=MontantInterets;
                   Table1MONTANTTVA.Value          :=TVA;
                   Table1MENSUALITE_TOTALE.VALUE   :=Annuite+tva;

                   Table1.Post;

                   if mois=12 then
                   begin
                     inc(an);
                     mois:=1;
                   end
                   else
                   begin
                     inc(mois);
                   end;

                   if mois=2 then
                   begin
                     If jour=29 then
                     begin
                      if IsLeapYear(an) then Jour:=jour else Jour := 28;
                     end
                     else if jour=30 then
                     begin
                       if IsLeapYear(an) then Jour:=29 else Jour := 28;
                     end
                     else if jour=31 then
                     begin
                       if IsLeapYear(an) then Jour:=29 else Jour := 28;
                     end
                     else jour:=Lejour;
                   end
                   else if ((mois=4) or (mois=6) or (mois=9) or (mois=11)) and (jour=31) then
                   begin
                      jour:=30;
                   end
                   else jour:=lejour;

                   periode:=periode+1;
                   cumul:=cumul+Amortissement;
                 end;
               end
               else
               begin
                 //Cas amortissement constant avec differé
                 DecodeDate(strtodate(MaskEditDateDde.Text), Year, Month, Day);

                 Annees := Year;
                 Lemois := Month;
                 Lejour := Day;


                 MontantP:=strtofloat(Editmontant.Text);
                 tauxp   :=strtofloat(MaskEditTaux.Text);
                 differe :=round(strtofloat(EditDureeDiffere.Text));
                 temps   :=round(strtofloat(editduree.Text)+differe);


                 mois   :=Lemois;
                 jour   :=lejour;
                 an     :=annees;
                 periode:=1;
                 CUMUL  :=0;

                 while periode<=temps do
                 begin
                   if periode<=differe then
                   begin
                     //Amortissement:=round(MontantP/strtofloat(editduree.Text));
                     MontantInterets:=round((MontantP* tauxp)/100);
                     //Annuite:=Amortissement+interet;
                     TVA:=round(MontantInterets*tauxtva/100);

                     Table1.Append;
                     Table1PECHEANCE.Value     :=periode;
                     Table1DATEECHEANCE.Value  :=Encodedate(an, mois, jour);
                     Table1MENSUALITE.Value    :=MontantInterets;
                     Table1CAPITALE_REST.Value :=MontantP;
                     Table1AMORTISSEMENT.Value :=Amortissement;
                     Table1INTERETS.Value      :=MontantInterets;
                     Table1MONTANTTVA.Value          :=TVA;
                     Table1MENSUALITE_TOTALE.VALUE   :=Annuite+tva;

                     Table1.Post;
                   end
                   Else
                   begin
                     Amortissement:=round(MontantP/strtofloat(editduree.Text));
                     MontantInterets:=round((MontantP-CUMUL)* tauxp/100);
                     Annuite:=Amortissement+MontantInterets;
                     TVA:=round(MontantInterets*TauxTVA/100);

                     Table1.Append;
                     Table1PECHEANCE.Value     :=periode;
                     Table1DATEECHEANCE.Value  :=Encodedate(an, mois, jour);
                     Table1MENSUALITE.Value    :=Annuite;
                     Table1CAPITALE_REST.Value :=MontantP-CUMUL;
                     Table1AMORTISSEMENT.Value :=Amortissement;
                     Table1INTERETS.Value      :=MontantInterets;
                     Table1MONTANTTVA.Value          :=TVA;
                     Table1MENSUALITE_TOTALE.VALUE   :=Annuite+tva;

                     Table1.Post;
                   end;

                   if mois=12 then
                   begin
                     inc(an);
                     mois:=1;
                    // Lejour:=lejour;
                   end
                   else
                   begin
                     inc(mois);
                   end;

                   if mois=2 then
                   begin
                     If jour=29 then
                     begin
                      if IsLeapYear(an) then Jour:=jour else Jour := 28;
                     end
                     else if jour=30 then
                     begin
                       if IsLeapYear(an) then Jour:=29 else Jour := 28;
                     end
                     else if jour=31 then
                     begin
                       if IsLeapYear(an) then Jour:=29 else Jour := 28;
                     end
                     else jour:=Lejour;
                   end
                   else if ((mois=4) or (mois=6) or (mois=9) or (mois=11)) and (jour=31) then
                   begin
                      jour:=30;
                   end
                   else jour:=lejour;

                 periode:=periode+1;
                 cumul:=cumul+Amortissement;

                 end;
               end;

             end
             else
             begin
               //CAs amortissement variable
               Table1.Close;
               Table1.EmptyTable;
               Table1.Open;

               If RadioGroup2.ItemIndex =1 then
               begin
                 //CAs amortissement variable sans differé
                 DecodeDate(strtodate(MaskEditDateDde.Text), Year, Month, Day);

                 Annees := Year;
                 Lemois := Month;
                 Lejour := Day;

                 MontantP:=strtofloat(Editmontant.Text);
                 tauxP:=strtofloat(MaskEditTaux.Text);
                 temps:=round(strtofloat(editduree.Text));

                 mois:=Lemois;
                 an:=annees;
                 jour:=lejour;
                 periode:=1;
                 CUMUL :=0;
                 while (periode<=temps) do
                 begin
                  Annuite:=round((MontantP*tauxp/100)/(1-power((1+tauxp/100),-temps)));
                  MontantInterets:=round((MontantP-CUMUL)* TAUXP/100);
                  Amortissement:=Annuite-MontantInterets;
                  TVA:=round(MontantInterets*TauxTVA/100);

                   Table1.Append;
                   Table1PECHEANCE.Value     :=periode;
                   Table1DATEECHEANCE.Value  :=Encodedate(an, mois, jour);
                   Table1MENSUALITE.Value    :=Annuite;
                   Table1CAPITALE_REST.Value :=MontantP-CUMUL;
                   Table1AMORTISSEMENT.Value :=Amortissement;
                   Table1INTERETS.Value      :=MontantInterets;
                   Table1MONTANTTVA.Value          :=TVA;
                   Table1MENSUALITE_TOTALE.VALUE   :=Annuite+tva;

                   Table1.Post;

                   if mois=12 then
                   begin
                     inc(an);
                     mois:=1;
                    // Lejour:=lejour;
                   end
                   else
                   begin
                     inc(mois);
                   end;

                   if mois=2 then
                   begin
                     If jour=29 then
                     begin
                      if IsLeapYear(an) then Jour:=jour else Jour := 28;
                     end
                     else if jour=30 then
                     begin
                       if IsLeapYear(an) then Jour:=29 else Jour := 28;
                     end
                     else if jour=31 then
                     begin
                       if IsLeapYear(an) then Jour:=29 else Jour := 28;
                     end
                     else jour:=Lejour;
                   end
                   else if ((mois=4) or (mois=6) or (mois=9) or (mois=11)) and (jour=31) then
                   begin
                      jour:=30;
                   end
                   else jour:=lejour;

                   periode:=periode+1;
                   cumul:=cumul+Amortissement;
                 end;
               end
               else
               begin
                 //Cas amortissement variable avec differé
                 DecodeDate(strtodate(MaskEditDateDde.Text), Year, Month, Day);

                 Annees := Year;
                 Lemois := Month;
                 Lejour := Day;

                 MontantP:=strtofloat(Editmontant.Text);
                 tauxP:=strtofloat(MaskEditTaux.Text);
                 differe:=round(strtofloat(EditDureeDiffere.Text));
                 temps:=round(strtofloat(editduree.Text));
                 temps1:=round(strtofloat(editduree.Text)+differe);

                 mois:=Lemois;
                 an:=annees;
                 jour:=Lejour;
                 periode:=1;
                 CUMUL :=0;
                 while (periode<=temps1) do
                 begin
                   if periode<=differe then
                   begin
                   //Amortissement:=round(MontantP/strtofloat(editduree.Text));
                   MontantInterets:=round((MontantP)* TAUXP/100);
                   //Annuite:=Amortissement+interet;
                   TVA:=round(MontantInterets*TauxTVA/100);

                   Table1.Append;
                   Table1PECHEANCE.Value     :=periode;
                   Table1DATEECHEANCE.Value  :=Encodedate(an, mois, jour);
                   Table1MENSUALITE.Value    :=Annuite;
                   Table1CAPITALE_REST.Value :=MontantP-CUMUL;
                   Table1AMORTISSEMENT.Value :=Amortissement;
                   Table1INTERETS.Value      :=MontantInterets;
                   Table1MONTANTTVA.Value          :=TVA;
                   Table1MENSUALITE_TOTALE.VALUE   :=Annuite+tva;

                   Table1.Post;
                   end
                   Else
                   begin
                     Annuite:=round((MontantP*tauxp/100)/(1-power((1+tauxp/100),-temps)));
                     MontantInterets:=round((MontantP-CUMUL)* TAUXP/100);
                     Amortissement:=Annuite-MontantInterets;
                     TVA:=round(MontantInterets*TauxTVA/100);

                     Table1.Append;
                     Table1PECHEANCE.Value     :=periode;
                     Table1DATEECHEANCE.Value  :=Encodedate(an, mois, jour);
                     Table1MENSUALITE.Value    :=Annuite;
                     Table1CAPITALE_REST.Value :=MontantP-CUMUL;
                     Table1AMORTISSEMENT.Value :=Amortissement;
                     Table1INTERETS.Value      :=MontantInterets;
                     Table1MONTANTTVA.Value          :=TVA;
                     Table1MENSUALITE_TOTALE.VALUE   :=Annuite+tva;

                     Table1.Post;
                   end;

                   if mois=12 then
                   begin
                     inc(an);
                     mois:=1;
                    // Lejour:=lejour;
                   end
                   else
                   begin
                     inc(mois);
                   end;

                   if mois=2 then
                   begin
                     If jour=29 then
                     begin
                      if IsLeapYear(an) then Jour:=jour else Jour := 28;
                     end
                     else if jour=30 then
                     begin
                       if IsLeapYear(an) then Jour:=29 else Jour := 28;
                     end
                     else if jour=31 then
                     begin
                       if IsLeapYear(an) then Jour:=29 else Jour := 28;
                     end
                     else jour:=Lejour;
                   end
                   else if ((mois=4) or (mois=6) or (mois=9) or (mois=11)) and (jour=31) then
                   begin
                      jour:=30;
                   end
                   else jour:=lejour;

                 periode:=periode+1;
                 cumul:=cumul+Amortissement;
                 end;
               end;
            ButtonSaisies.SetFocus;
          end;
          end
          else
          begin
            showmessage('Préciser le taux d''intérêt SVP.');
            MaskEditTaux.SetFocus;
          end;
         end
         else
         begin
           showmessage('Préciser la date de la première écheance SVP.');
           MaskEditDateDde.SetFocus;
         end;
        end
        else
        begin
          showmessage('Préciser la durée du crédit SVP.');
          EditDuree.SetFocus;
        end;
      end
      else
      begin
         showmessage('Préciser le capital du crédit SVP.');
         EditMontant.SetFocus;
      end;
     end
     else
     begin
       showmessage('Préciser le type d''amortissement SVP.');
     end;
   end
   else
   begin
     showmessage('Préciser s''il y a différé ou non.');
   end;
   BitBtnCalcul.Enabled :=false;
   ButtonSaisies.Enabled :=true;
   ButtonSaisies.SetFocus;
end;

procedure TF_Calcul_Interet.ButtonSaisiesClick(Sender: TObject);
begin
 RadioGroupTypeAmort.ItemIndex :=-1;
 RadioGroup2.ItemIndex :=-1;

 EditMontant.SetFocus;
 EditMontant.Clear;
 EditDuree.Clear;
 EditDureeDiffere.Clear;
 MaskEditDateDde.Text :='';
 MaskEditTaux.Text :='';

 BitBtnCalcul.Enabled   :=true;
 ButtonSaisies.Enabled  :=false;

 //Vider la table
 Table1.Close;
 Table1.EmptyTable;
 Table1.Open;
end;

procedure TF_Calcul_Interet.EditMontantKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (Key in ['0'..'9', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE), Chr(VK_RETURN)])then
  Key := #0;
  if Key = DecimalSeparator then
    if Pos(DecimalSeparator, EditMontant.Text) <> 0 then
      Key := #0;

  if key=#13 then MaskEditDateDde.SetFocus;
end;

procedure TF_Calcul_Interet.EditDureeKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (Key in ['0'..'9', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE), Chr(VK_RETURN)])then
  Key := #0;
  if Key = DecimalSeparator then
    if Pos(DecimalSeparator, EditDuree.Text) <> 0 then
      Key := #0;

  if key=#13 then MaskEditTaux.SetFocus;
end;

procedure TF_Calcul_Interet.EditDureeDiffereKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (Key in ['0'..'9', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE), Chr(VK_RETURN)])then
  Key := #0;
  if Key = DecimalSeparator then
    if Pos(DecimalSeparator, EditDureeDiffere.Text) <> 0 then
      Key := #0;
 if key=#13 then BitBtnCalcul.SetFocus;
end;

procedure TF_Calcul_Interet.MaskEditDateDdeKeyPress(Sender: TObject;
  var Key: Char);
begin
  if key=#13 then EditDuree.SetFocus;
end;

procedure TF_Calcul_Interet.SpeedButton1Click(Sender: TObject);
begin
  F_APropos.Show;
end;

procedure TF_Calcul_Interet.RadioGroupTypeAmortClick(Sender: TObject);
begin
  if RadioGroupTypeAmort.ItemIndex =0 then typeamort:='C'
  else typeamort:='V';
end;

procedure TF_Calcul_Interet.RadioGroup2Click(Sender: TObject);
begin
 If RadioGroup2.ItemIndex =1 then
 begin
   EditDureeDiffere.Enabled :=false;
   EditDureeDiffere.Clear;
 end
 else
 begin
   EditDureeDiffere.Enabled :=true;
   EditDureeDiffere.SetFocus;
 end;
end;
//MISE A JOUR
procedure TF_Calcul_Interet.FormShow(Sender: TObject);
 Var DataDir,NomAlias:string;
     I:Integer;
begin
  Top  := 90;
  Left := 168;
  // appel de la procedure creation alias

  dataDir:='C:\Interets';
  CreateDir(DataDir);
  NomAlias:='Interet_Alias';
  CreationAlias(NomAlias,datadir);

  database1.Close;
  database1.DatabaseName :='Gestion';
  database1.AliasName := NomAlias;
  database1.Open;
  database1.Connected :=true;

  Table1.Close;
  Table1.DatabaseName :='Gestion';
  Table1.TableName :='TECHEANCE_CREDIT';
  Table1.TableType :=ttParadox;
  Table1.EmptyTable;
  Table1.Open;
end;

procedure TF_Calcul_Interet.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #27 then Close;
end;

//MISE A JOUR POUR LA Création de l''alias AUTOMATIQUE 
// Ici la procedur creation alias paradox
procedure TF_Calcul_Interet.CreationAlias(NomAlias,DataDir:String);
begin
  if not Session.IsAlias(NomAlias) then
 session.AddStandardAlias(NomAlias,DataDir,'PARADOX');
end;

end.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Calcul_Interet
    • Apropos.~ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Apropos.~dfmTélécharger ce fichier [Réservé aux membres club]37 121 octets
    • Apropos.~pasTélécharger ce fichier [Réservé aux membres club]907 octets
    • Apropos.dcuTélécharger ce fichier [Réservé aux membres club]4 349 octets
    • Apropos.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Apropos.dfmTélécharger ce fichier [Réservé aux membres club]37 121 octets
    • Apropos.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier907 octets
    • Calcul_Interet.~ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Calcul_Interet.~dfmTélécharger ce fichier [Réservé aux membres club]9 967 octets
    • Calcul_Interet.~pasTélécharger ce fichier [Réservé aux membres club]21 129 octets
    • Calcul_Interet.dcuTélécharger ce fichier [Réservé aux membres club]20 205 octets
    • Calcul_Interet.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Calcul_Interet.dfmTélécharger ce fichier [Réservé aux membres club]9 967 octets
    • Calcul_Interet.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier21 048 octets
    • Calcul_Interets.~dprTélécharger ce fichier [Réservé aux membres club]424 octets
    • Calcul_Interets.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier434 octets
    • Calcul_Interets.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 503 octets
    • Calcul_Interets.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier337 octets
    • Calcul_Interets.resTélécharger ce fichier [Réservé aux membres club]1 536 octets

Télécharger le zip


 Historique

17 octobre 2007 20:14:08 :
bonjour a tous et merci pour vos commentaires. la mise à jour concerne l'alias de connexion : dans cette mise à jour elle est crée automatiquement. NB : le nom du projet à un peu changer : c'est le même projet que j'ai renomme en "calcul_interet"

 Sources de la même categorie

Source avec Zip INTERBASE FIREBIRD IBEXPERT par opgiat
Source avec Zip CREE ALIAS AUTOMATIQUEMENT CREATION REPERTOIRE ET TABLE AUSI par opgiat
Source avec Zip CRÉE UN RÉPERTOIRE ET CRÉE CES TABLES PAR PROGRAMME par opgiat
Source avec Zip Source avec une capture CONNEXION MYSQL ET RECUPERATION DANS BASE ACCESS par eli42
Source avec Zip Source avec une capture LIER DEUX TDBGRID par cantador

 Sources en rapport avec celle ci

Source avec Zip CALCULATRICE POUR POËTES par fredelem
Source avec Zip Source avec une capture LOGICIEL DE CALCUL MENTAL ! par Bacterius
Source avec Zip Source avec une capture CALCUL MENTAL par Debiars
Source avec Zip Source avec une capture CALCULATRICE DE CHAINES MATHÉMATIQUES par Oniria
Source avec Zip CALCULATEUR D'INTERÊTS ENTRE DEUX DATES par DGPat

Commentaires et avis

Commentaire de cantador le 15/10/2007 22:41:51

pour le début :
création d'un alia "Interet" que nous ne pouvons pas avoir par défaut -->> plantage de l'appli à l'ouverture.
soit tu crée automatiquement l'alia, soit tu places tes tables dans un alia existant par défaut, soit tu ne mets pas d'alia..
j'ai pas encore vu le reste..
@bientôt

Commentaire de frsof le 17/10/2007 16:45:48

slt , just une petite remarque
pour le calcule des amortissement tu doit calculer d'abort l'annuite, et pour la 1 annnee en calcule pas tjrs sur 12 mois mais selon la date d'achat ex :
1) si tu achete l'invetissment 01/01/2007 EN CACULE pour 12 moi
2) si tu achete l'invetissment 01/02/2007 EN CACULE pour 11 moi

Commentaire de tgr74 le 17/10/2007 19:41:04

Salut frsof, il ne s'agit pas ici du calcul des amortissements des immobilisations. ce code permet de simuler les écheanciers d'un crédit. il existe deux formules de calcul :
- le calcul en utilisant la methode  des annuités constants
- le calcul rn utilisant la methode des annuités variables.

cantador, je m'excuse car j'ai peché par la precipitation à poste ce code. en fait il est extrait d'un projet de gestion d'epargne et de crédit donc je travaille dessus. ce projet utilise comme SGDB Interbase.
cependant, je me rattrape par une mise à jour dans laquelle l'alias est crée automatiquement.

Commentaire de cantador le 17/10/2007 21:28:28

@tgr74 :
bonne réaction de ta part et bon courage pour ton projet.
Penses aussi à te manifester sur les réponses qu'on apporte aux questions que tu poses sur le forum..

On fait des efforts moi et bcp d'autres pour informer.
alors clique sur réponse acceptée ou tape "ça ne va pas".

Commentaire de tgr74 le 18/10/2007 13:08:43

cantador, merci je ferais d'aurenavant des efforts a+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Calcul des agios bancaire et interets crediteurs sur les comptes [ par tgr74 ] Bonjour a tous,je suis actuellement  de mettre en place pour une association des jeunes qui font dans l'entraide et l'epargne collectif un petit progr calcul sur des entiers renvoyant un réel [ par zwyx ] Bonjour à tous,J'ai constaté une erreur lors de l'exécution de mon programme. Cette erreur vient soit de moi, si j'ai oublié un détail, dans ce cas, v Calcul de diffirence entre 2 Tdatetime en min [ par cheggour ] Bonjour tous, je souhaite calculer la différence en minute entre deux TDatetime sans prendre en considération  les jours, le mois et l'année. Merci d' calcul de temps [ par vladocbm ] bonjour tt le mondevoila je suis un débutant sur delphi, et j'ai un petit souci pour calculer un temps ecoulé par exemple date de debute 05/03/2008 /h calcul des heures [ par Relisys76000 ] Relisys Bonjour, je cherche une solution qui me pourrais me permettre de connaitre le temps sous forme jours, hh:mm:ss d'une liste de fichier mp3: par Problème calcul décimal [ par Jordan59 ] Bonjour à tous,Je rencontre un problème dans la fonction suivante :function TEcartArticle.GetValo: Extended;begin  Result := (- EcartMoins + EcartPlus calcul du temps [ par sptchasso ] Salut, tout le monde.Ma preoccupation est de recuperer en temps reel le temps en microsecondes qui s'est ecoule entre deux points d' programme en Delp probleme avec commandButton_click() [ par nadolille ] bonjour!j'ai un problème avec mes comboBox!!alors j'ai 5 feuilles ,menu,calcul,BS,Resultats,Resultats_Régma  feuil2;calcul:j'ai un combobox et  comman LOGICIEL Calcul INTERËTS [ par pivoine72 ] Bonjour, je recherche un logiciel gratuit, qui pourrait me calculer le montant des Intérêts annuels de placement C Epargne et autres, sachant que le p calcul entre date avec delai [ par ericdu62x ] Bonsoir a tout le monde,j'ai besoin d'un petit peut d'aide concernant un calcul entre deux dates dans une base de donnée.a savoir:je stocke une date d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales