Calcul date selon critère
Résolu
Bonjour,
j'aurai besoin de vos conseil pour un calcul de date.
J'aimerai que ma cellule "Date de référence" ce calcul toute seule en partant de ma date entrée. Les dates de référence sont le 1er et le 15 de chaque mois. Si la date est avant le 15 du mois la date de référence est le 1er du même mois.
Ex : la date entrée est Le 05/07/2017 la date de référence est le 01/07/2017 si la date est le 20/07/2017 la date de référence est le 15/07/2017, maintenant je préférerai que si la date est les dernier jours du mois qui met la date de référence au 1er du mois suivant mais cela n'est pas dramatique en soit.
Auriez-vous une solution pour moi SVP
j'aurai besoin de vos conseil pour un calcul de date.
J'aimerai que ma cellule "Date de référence" ce calcul toute seule en partant de ma date entrée. Les dates de référence sont le 1er et le 15 de chaque mois. Si la date est avant le 15 du mois la date de référence est le 1er du même mois.
Ex : la date entrée est Le 05/07/2017 la date de référence est le 01/07/2017 si la date est le 20/07/2017 la date de référence est le 15/07/2017, maintenant je préférerai que si la date est les dernier jours du mois qui met la date de référence au 1er du mois suivant mais cela n'est pas dramatique en soit.
Auriez-vous une solution pour moi SVP
1 réponse
-
Contributeurbonjour, veux-tu faire ce calcul dans une requête?
-
-
Contributeur@Lucasinesi tu veux stocker cette date de référence dans la table, plutôt que la calculer dans une requête, il faut intervenir au moment de créer un enregistrement dans la table.
comment l’enregistrement est-il créé dans la table?
est-il vraiment indispensable de stocker la date de référence dans la table? -
-
Contributeur@Lucasineje propose cette fonction:
Option Explicit Function dateref(dateentree As Date) As Date Const findumois As Integer = 2 Select Case Day(dateentree) Case Is < 15 dateref = DateSerial(Year(dateentree), Month(dateentree), 1) Case Is > Day(DateSerial(Year(dateentree), Month(dateentree) + 1, 1) - 1) - findumois dateref = DateSerial(Year(dateentree), Month(dateentree) + 1, 1) Case Else dateref = DateSerial(Year(dateentree), Month(dateentree), 15) End Select End Function
tu dois l'insérer dans un module du fichier Access, et tu peux ensuite l'utiliser dans une requête, par exemple,select dateentree,dateref(dateentree) as datereference from table;
si la date est un des deux derniers jours du mois, la date de référence est le premier jour du mois suivant. si tu veux plus ou moins que 2 jours, tu changes la valeur sur la ligneConst findumois
-
-