1. #1
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut Additionner des années a une date.

    Bonjour,

    J'ai effectué des recherches sur le forum dans le but de trouver quelque chose qui correspondrait a mon besoin, sauf que, je n'arrive pas trouver une technique que je pourrais adapté a mon besoin.

    J'explique,

    j'ai dans mon formulaire un champ date ayant le nom : date d'entrée en vigueur.

    Une liste déroulante contenant 3 valeur.

    phase 1 = la phase 1 correspond a 2 ans.
    phase 2 = la phase 2 correspond a 3 ans.
    phase 3 = la phase 3 correspond a 2 ans.

    et un champ qui sera renseigné une fois le choix fait d'une valeur dans la liste déroulante.

    exemple :

    Entrée en vigueur :

    01/01/2017 + 2 ans de la phase 1 = 01/01/2019.

    c'est possible de le faire ?

    merci par avance.

    cordialement

  2. #2
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    Bonsoir,
    il faut utiliser DateAdd (Ajdate en français)
    https://msdn.microsoft.com/fr-fr/lib...ffice.15).aspx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mydate = DateAdd("yyyy",2,"01/01/2017")

  3. #3
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Bonsoir tee_grandbois,

    Merci pour votre réponse, mais dans mon cas, le calcul de la nouvelle date est fonction de l'une des 3 valeurs de la liste déroulante, le résultat s'affichera dans un autre champs qui se renseignera, une fois le choix fait.

    merci.

  4. #4
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    J'indiquais uniquement la piste à chercher.
    Je vais donc spécifier plus précisément : en admettant que la date est dans la colonne 0 et la durée dans la colonne 1 de la liste de valeurs, le code devrait ressembler à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.[date d'entrée en vigueur] = DateAdd("yyyy",Me.ListeValeur.column(1),Me.ListeValeur.column(0))

  5. #5
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Bonsoir,

    Désolé pour le retard, je rentre a l'instant, je crois que le choses sont de plus en plus clair.

    Pour le test j'avais deja le champ date, puis j'ai crée une liste valeur avec les valeurs 2;3 et la je coince, le code ne fonctionne pas.

    j'ai mis le code sur l'evement apres maj du formulaire.

    dois avoir un autre champ pour le resutat du calcul ?

    salutations.

  6. #6
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    Bonsoir,
    j'ai mis le code sur l'evement apres maj du formulaire
    C'est mieux sur clic ou après maj de la liste de valeurs.

  7. #7
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Bonjour,

    merci pour votre réponse, je ferais le test une fois a la maison, je voudrais juste savoir comment obtenir le résultat, en créant un nouveau champ ?

    cordialement.

  8. #8
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    Bonjour,
    il est possible de créer un contrôle indépendant (c'est à dire non lié à une source de données) qui affichera la nouvelle valeur mais l'inconvénient c'est qu'il ne stocke pas les données. Si on veut garder la nouvelle valeur, il vaut mieux stocker le résultat dans le champ d'une table.
    Il est possible de mettre à jour l'ancienne valeur avec la nouvelle, mais dans ce cas, il faut contrôler la saisie (par exemple ne permettre la mise à jour uniquement si la date actuelle d'entrée en vigueur est inférieure ou égale à l'année de la date système), sinon on pourrait additionner n années à chaque clic et arriver vite fait en 2051 !

  9. #9
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Bonsoir,

    Alors, j'ai effectué un test et j'ai le message d'erreur suivant : erreur d’exécution 94
    Utilisation incorrecte de Null

    Null ! je pense qu'il fait allusion a moi la.

    Plus sérieusement je rame la, pourtant je sais que la solution est sous mon nez

    cordialement.

  10. #10
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    le mieux c'est de montrer le code ...

  11. #11
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Le voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub anne_AfterUpdate()
    Me.[Date_d'execution] = DateAdd("yyyy", Me.annee.Column(2), Me.anne.Column(3))
    End Sub

  12. #12
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Heuu il faut lire année

  13. #13
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    Heuu il faut lire année
    je dirai plutôt anne si je regarde le nom du sub : Private Sub anne_AfterUpdate()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.[Date_d'execution] = DateAdd("yyyy", Me.anne.Column(2), Me.anne.Column(3))
    Peut-on voir la source de la liste déroulante (apparemment, il y a au moins 4 colonnes) ? C'est la propriété "Contenu" de l'onglet "Données" du contrôle "anne".
    Pour info, il faudrait éviter de mettre des caractères réservés tels que ' dans le nom des champs.

  14. #14
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    dans la proprieté contenu de la liste deroulante, c'es ainsi :

    2;3

  15. #15
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    Il n'y a donc qu'une seule colonne dans anne, la mise à jour serait donc comme ceci, je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.[Date_d'execution] = DateAdd("yyyy", Me.[Date_d'execution], Me.anne.Column(0))

  16. #16
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Je suis vraiment désolé, ça ne marche pas.

  17. #17
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    Désolé, les champs étaient dans le désordre ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.[Date_d'execution] = DateAdd("yyyy", Me.anne.Column(0), Me.[Date_d'execution])
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.[champ_resultat] = DateAdd("yyyy", Me.anne.Column(0), Me.[Date_d'execution])
    si le résultat doit être mis dans un autre contrôle

  18. #18
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    hey ca marche super bien, j'ai utilise la seconde solution qui propose un resultat, juste que la liste valeur ne se vide pas sur les autres enregistrements, il doit y avoir un truc ?

  19. #19
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    juste que la liste valeur ne se vide pas sur les autres enregistrements
    je n'ai pas tout compris là ...

  20. #20
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    c'est a dire que la valeur choisie dans la liste valeur, reste meme quand je passe a un autre enregistrement.

Discussions similaires

  1. [AC-2000] ajouter des années a une date
    Par alex61 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/01/2011, 10h35
  2. [AC-2007] Ajouter des années a une date !
    Par kamikaze.team dans le forum IHM
    Réponses: 4
    Dernier message: 02/06/2010, 16h53
  3. Récupérer le mois et l'année d'une date
    Par missllyss dans le forum SQL
    Réponses: 2
    Dernier message: 23/09/2003, 09h17
  4. requête sur l'année d'une date
    Par jo77 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/07/2003, 09h28
  5. Récupérer l'année d'une date
    Par delphim dans le forum Langage SQL
    Réponses: 3
    Dernier message: 15/01/2003, 16h33

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