Validité d'une date

  • Initiateur de la discussion Initiateur de la discussion TETOCA
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

TETOCA

Guest
Bonsoir à toutes et à tous

Je teste la validité d'une date de la forme jj/mm/aa avec 'Isdate' qui me renvoie bien 'Faux' sur des dates non valides antérieures au 31/12/00 mais qui me renvoie 'Vrai' sur des dates non valides à partir des années '01' (exemple : '32/01/01').

Merci à celle ou celui qui voudra bien m'éclairer et me dire où je fais une erreur.

Bonne fin de semaine.
 
Salut,

Je ne connais pas la fonction ISDATE.

A mon avis ce doit être une fonction complémentaire que tu as télechargée ici ou là.
Donc difficile de te répondre.

Pour vérifier la validité d'une date tu as d'autres méthodes, comme par exemple :
=ANNEE(A1)
qui te renverra 'VALEUR! si ce n'est pas une date.

Â+
 
Un fait, Excel considére par exemple '30/11/00' comme une date de l'an 30.
Dans Microsoft Windows, la plage des dates valides s'étend du 1er janvier 100 au 31 décembre 9999. Les plages varient en fonction des systèmes d'exploitation.

La fonction isdate n'est pas terrible.
Mieux vaut l'utiliser en combinaison avec des trucs comme dateserial.
Cela donne par exemple:

la_date = '31/11/2000'

isdate(dateserial(cint(right(la_date,2)),cint(mid(la_date,4,2)),cint(left(la_date,2))))

Pas géant en fait la fonction isdate

Il en va de même avec la reconaissance des mois.
Par exemple:
isdate('31 decembre 2000') ne sera pas reconnu comme un date valide car decembre est écrit sans l'accent sur le e
isdate('31 décembre 2000') est reconnu.
Cela semble normal mais lorsque l'on est confronté à des mois écrits en majuscule, sa coince.

Bon courage...

Message édité par: fredmax, à: 19/11/2005 21:17
 
Bonjour André, bonjour Fredmax

Je vous remercie pour vos réponses. Aprés avoir continué à tester, je rejoins Fredmax dans ses conclusions. En effet 'Isdate' semble tester le date dans le désordre et tant qu'il n'y a pas incohérence entre les 3 nombres quelque soit leur ordre il retourne vrai. Je continue à l'utiliser mais je lui donne une date plus compléte de la façon suivante :

Private Sub TextBox1_Change()

Dim DN As Variant

Select Case Len(TextBox1)
Case 2, 5
TextBox1 = TextBox1 & '/'
Case 8

If Mid(TextBox1, 7, 1) = 0 Then
DN = Left(TextBox1, 6) & '20' & Right(TextBox1, 2)
Else
DN = Left(TextBox1, 6) & '19' & Right(TextBox1, 2)
End If

MsgBox Isdate

End Select

End sub

Merci à vous deux et bon dimanche

FJP
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
398
M
Réponses
1
Affichages
819
Réponses
17
Affichages
2 K
Retour