OVH Cloud OVH Cloud

Date 2003 / 2004

2 réponses
Avatar
Jean
Bonjour =E0 tous et bonne ann=E9e !

J'ai un soucis sur les dates en VBA:

Je veux v=E9rifier qu'une date de saisie ne soit pas=20
inf=E9rieure =E0 une date de r=E9f=E9rence :

Date de saisie >=3D date de r=E9f=E9rence

Si j'ai 31/12/2003 >=3D 31/11/2003 tout va bien.

En revanche, si je veux :
31/01/2004 >=3D 31/11/2004, la fonction me renvoit l'info=20
comme quoi la date est inf=E9rieure !

Les dates sont des champs dates en format "Date, abr=E9g=E9",=20
la fonction est :

if DateSaisie >=3D DateReference then
proc=E9dure d'enregsitrement
Else
Msgbox "Erreur..."
End if
=20
Les PC sont en Windows 2000 & XP, Office est un XP SP1.

Quelqu'un connait-il le probl=E8me des ann=E9es dans les=20
dates ?

Merci =E0 tous. Jean.

2 réponses

Avatar
Raymond [mvp]
Bonjour.

Vba raisonne en date US.
si tu ne veux pas de problème avec tes paramètres régionaux tu fais
if format(DateSaisie, "yyyy/mm/dd") >= format(DateReference, "yyyy/mm/dd")
then
procédure d'enregsitrement
Else
Msgbox "Erreur..."
End if
le format lui-même n'a pas d'importance, il faut indiquer les mêmes .
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jean" a écrit dans le message de
news:049501c3d524$9170e5e0$
Bonjour à tous et bonne année !

J'ai un soucis sur les dates en VBA:

Je veux vérifier qu'une date de saisie ne soit pas
inférieure à une date de référence :

Date de saisie >= date de référence

Si j'ai 31/12/2003 >= 31/11/2003 tout va bien.

En revanche, si je veux :
31/01/2004 >= 31/11/2004, la fonction me renvoit l'info
comme quoi la date est inférieure !

Les dates sont des champs dates en format "Date, abrégé",
la fonction est :

if DateSaisie >= DateReference then
procédure d'enregsitrement
Else
Msgbox "Erreur..."
End if

Les PC sont en Windows 2000 & XP, Office est un XP SP1.

Quelqu'un connait-il le problème des années dans les
dates ?

Merci à tous. Jean.
Avatar
Jean
Merci Raymond