[Acess - VBA] Manipulation de date

[Résolu/Fermé]
Signaler
-
Messages postés
10
Date d'inscription
mercredi 16 juin 2010
Statut
Membre
Dernière intervention
2 avril 2012
-
Bonjour,

voilà, je voulais faire un Etat en filtrant la date de façon à ce que l'Etat m'affiche les commandes passées il y a plus de 15 jours.

Concrètement, je dois faire Date() - 15 jours ...
et forcément si le numéro du jour et inférieur à 1, il doit retourner à 31 en retirant 1 au numéro du mois.

Mon code qui ne fonctionne pas :

Private Sub Report_Load()

Dim Month_prev As Integer
Month_prev = Month(Date) - 15

If (Month_prev < 0) Then
Reports![COMMANDES en retard].Filter = "[Date_commande] < #" & Day((Date) - 15) & "/" & Month((Date) - 1) & "/" & Year(Date) & "#"
Else
Reports![COMMANDES en retard].Filter = "[Date_commande] < #" & Day((Date) - 15) & "/" & Month(Date) & "/" & Year(Date) & "#"
End If

End Sub



J'accepte aussi les modifications purement graphique si le VBA est inutile ici.

Merci.

3 réponses

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 537
bonjour

forcément si le numéro du jour et inférieur à 1, il doit retourner à 31 en retirant 1 au numéro du mois

Tu te crées des problèmes tout seul car une date est un nombre de jours et donc si tu soustrait 15 à ta date elle va changer de mois correctement en tenant compte de la durée du mois.

Pour faire cela tu n'as pas besoin de macro d'ailleurs, tu peux le faire directement dans le paramétrage de ton état.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
10
Date d'inscription
mercredi 16 juin 2010
Statut
Membre
Dernière intervention
2 avril 2012
1
Ok merci, mais comment ?
Messages postés
10
Date d'inscription
mercredi 16 juin 2010
Statut
Membre
Dernière intervention
2 avril 2012
1
gbinforme, merci

Tu as vu juste, il m'a suffit de faire une requète et d'écrire dans la case "Où" de la colonne "Date_commande" :

<(Date()-15)

La date est bien un nombre de jours, merci.