IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Calcul prochaine échéance future [AC-2010]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Calcul prochaine échéance future
    Bonjour à tous,

    Petit nouveau sur le forum, je sollicite votre aide.

    Dans un formulaire Access 2010, je cherche l'expression permettant de calculer la prochaine échéance future d'un contrat de X années qui se renouvelle automatiquement pour des périodes de même durée.

    Exemple
    Date de début de contrat 01/05/2001 pour une durée de 3 ans.
    Les échéances successives sont 01/05/2004, 2007, 2010, 2013, ....
    Étant donné que nous sommes le 22/05/2011, donc après le 01/05/2010, je souhaiterais que l'expression affiche la date du 01/05/2013 qui est la prochaine échéance du contrat.

    J'ai utilisé l'expression AjDate("aaaa";[duree_contrat];[date_debut_contrat]) qui me donne la prochaine échéance (01/05/2004) mais ne me donne pas l'échéance future.
    Je ne voudrais, dans la mesure du possible, ne pas utiliser de code VBA (aucune connaissance dans ce domaine !).
    Toutefois, si c'est la seule solution, je remonterai mes manches...

    Merci de votre aide

    Bien Cordialement

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Jlv25,

    Citation Envoyé par Jlv25
    Étant donné que nous sommes le 22/05/2011 .../...
    Citation Envoyé par Jlv25
    J'ai utilisé l'expression AjDate("aaaa";[duree_contrat];[date_debut_contrat]) qui me donne la prochaine échéance (01/05/2004) mais ne me donne pas l'échéance future.
    ==> la date du jour n'intervient pas dans ta formule... il est donc impossible d'en tenir compte.


    Essaies
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    AjDate("yyyy";[duree_contrat];Jour([date_effet]) & "/" & Mois([date_effet]) & "/" & Année(Date()))
    ==> pas testé... mais tu vois l'idée.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  3. #3
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Une suggestion basée sur des champs calculés dans un requête.
    Je considère que l'on a les champs
    Dt_Debut_Ctr, Duree_Ctr et je veux calculer Proch_Ech
    Je fais le calcul en 3 étapes

    Etape 1 calcul du NbrEch déjà échues.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbrEch: Int((Année(Date())-Année([Dt_Debut_Ctr]))/[Duree_Ctr])
    Etape 2 calcul de la dernière échéance passée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Der_Ech: AjDate("aaaa";[Duree_Ctr]*[NbrEch];[Dt_Debut_Ctr])
    Etape 3 clacul de la Prochaine échéance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Proch_Ech: AjDate("aaaa";[Duree_Ctr];[Der_Ech])
    Cordialement.

    RJ

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Merci de votre réponse et pour la belle leçon de logique !

    La méthode fonctionne bien sauf dans le cas où l'année de fin de la dernière échéance est identique à l'année en cours.
    Exemple
    Contrat au 1/6/2005 pour une durée de 3 ans ; la prochaine échéance sera au 1/6/2011.
    Le calcul du nombre d'échéances échues donne 2.
    Le calcul de la dernière échéance passée donne donc 1/6/2011 et une prochaine échéance au 1/6/2014.

    Je continue sur cette piste. Si vous avez une idée, n'hésitez pas.

    Merci à Richard_35 de m'avoir ré-aiguillé sur le forum suite à mon envoi en MP.

  5. #5
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Jlv25 et Rjamin,

    Une solution proche de celle de Rjamin et identique, dans l'esprit.

    Via l'assistant (DDJ=Date du jour) :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    DDJ-Début: DiffDate("yyyy";[debut];Date())
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    DDJ-Début/durée: Ent([DDJ-Début]/[duree])
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    CalcEch: AjDate("yyyy";[DDJ-début/durée]*[duree];[debut])
    ==> pas testé.


    Ce qui est sûr, c'est qu'il faut faire
    Citation Envoyé par Rjamin
    .../... le calcul en 3 étapes
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  6. #6
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Essayer en modifiant le calcul du NbrEch

    Remplacer la formule par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbrEch: Int((Date()-[Dt_Debut_Ctr])/365,25/[Duree_Ctr])
    A tester avec différentes dates de début.
    Cordialement.

    RJ

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Après essai de différentes dates, dont des 29 février, la formule fonctionne bien (celle de rjamin, je n'ai pas testé celle de Richard).

    Merci à vous deux de votre collaboration efficace

    Bien Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calculer date échéance
    Par thaundeadboss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/09/2014, 16h47
  2. Prochaine échéance d'un sous-formulaire
    Par Rickforet dans le forum IHM
    Réponses: 2
    Dernier message: 06/12/2011, 20h46
  3. Calcul de date future depuis date de depart + fréquence
    Par Math8857 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 04/08/2011, 15h21
  4. calcul date échéance
    Par popofpopof dans le forum IHM
    Réponses: 18
    Dernier message: 13/10/2009, 20h39
  5. [Dates] calculer une date future
    Par arti2004 dans le forum Langage
    Réponses: 3
    Dernier message: 02/07/2007, 19h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo