Controler une date

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 111 fois - Téléchargée 37 fois

Contenu du snippet

Cette fonction controle que la date passée en paramètre soit bien de format JJ.MM.AAAA

pour toutes questions je reste a disposition

et merci de vos commentaires CONSTRUCTIFS :)

Source / Exemple :


'Fonction de vérification de date au format JJ.MM.AAAA
function checkdate(d)
'devloppé par Seren
'Ver 1.0

res=instr(d,".")
if res>0 then
	jour=mid(d,1,res-1)
	if isnumeric(jour) then
		if jour>0 AND jour<32 then
			res2=instr(res+1,d,".")
			if res2>0 then
				mois=mid(d,res+1,res2-res-1)
				if isnumeric(mois) then
					if mois>0 AND mois<13 then
						an=mid(d,res2+1,len(d))
						if isnumeric(an) then
							if an<2099 then
								msg="ok"
							else
								msg="Année non valide"
							end if
						else
							msg="Année non valide"
						end if
					else
						msg="Mois non valide"
					end if
				else
					msg="Mois non valide"
				end if
			else
				msg="Format non valide (JJ.MM.AAAA)"
			end if
		else
			msg="Jour non valide"
		end if
	else
		msg="Jour non valide"
	end if
else
msg="Format non valide (JJ.MM.AAAA)"
end if
if msg<>"ok" then
checkdate=msg
else
checkdate=True
end if
end function

Conclusion :


Le controle de l'année est un peu leger

je vais améliorer sa quand j'aurais un peu de temps...

A voir également

Ajouter un commentaire

Commentaire

Horfee
Messages postés
188
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
10 août 2009

bon, des commentaires constructifs :
1° Ne jms avoir plus de 7 niveau d'indentation ( c une des premieres regles de programmation qu'on voit en cours info)-->privilégie l'inverse ( ex : if res<=0 then return "Format non valide"
' else
.
.
.)
2° Jete un coup d'oeil a la fonction split, ca sert pas mal ;)
3° il est préférable de retourner des codes d'erreurs ( ex : 0 --> date valide, 1-->jour invalide, etc..) plutot qu'un msg : on peut peut etre vouloir personnaliser le msg en fonction des cas d'utilisations
voilà ++

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.