Comment vérifier si la valeur Text d'une Txtbox est bien XX:XX:XX [Résolu]

Messages postés
3
Date d'inscription
samedi 25 septembre 2004
Statut
Membre
Dernière intervention
1 mars 2005
- - Dernière réponse : cs_Manix123
Messages postés
3
Date d'inscription
samedi 25 septembre 2004
Statut
Membre
Dernière intervention
1 mars 2005
- 28 févr. 2005 à 01:06
Bonjour,

j'aimerrais savoir comment vérifier si la valeur Text d'une Txtbox est bien XX:XX:XX pour savoir si la valeur entré est bien une heure possible ( entre 00:00:00 et 23:59:59 par exemple ).

Merci à l'avance!!

Manix
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
517
Date d'inscription
samedi 3 février 2001
Statut
Modérateur
Dernière intervention
24 octobre 2006
1
3
Merci
c toujours mieux qu'une date
Sinon il s'uffit d'allier les deux :
If text1.text like "##:##:##" and isdate(text1.text) then

ça devrait suffire pour etre parfait... ou presque ?

Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/

Dire « Merci » 3

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

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Messages postés
40
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
29 décembre 2010
1
0
Merci
si il n'y a que sa dans la text box, perso je ferrai :



DIM correct AS boolean



correct = False



IF val(left(textbox1.text,2) ) > 0 AND val(left(textbox1.text,2) ) < 24 THEN

IF val(mid(textbox1.text, 3, 2) > 0 AND val(mid(textbox1.text, 3, 2) < 59 THEN

IF val(right(textbox1.text, 2) > 0 AND val(right(textbox1.text, 2) < 59 THEN

correct = True

END IF

END IF

END IF



IF Not correct, then

msgboxt("Erreur dans l'heure indiquée")

END IF



par exemple ...
<-------------------------->
On trouve toujours ce que l'on cherche dans le dernier endroit ou l'on regarde
Messages postés
338
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
4 novembre 2008
0
Merci
il ya quelque chose de plus simple

if isdate(text1.text)=true then
' text1 est une heure valide
else
text1 est une heure pas valide
end if

Hassen TUNISIE
Messages postés
40
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
29 décembre 2010
1
0
Merci
a oui, forcement je connaissait pas la fonction :-D


et sa marche meme si on écrit 23h17m16s ??


On trouve toujours ce que l'on cherche dans le dernier endroit ou l'on regarde
Messages postés
517
Date d'inscription
samedi 3 février 2001
Statut
Modérateur
Dernière intervention
24 octobre 2006
1
0
Merci
Encore une autre petite astuce:
If text1.text like "##:##:##" then ...


Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/
Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
2
0
Merci
isdate est tres bien mais dangereux, si on entre une date, par exemple 25/12/2005, il rend vrai.



Il faux ajouter un teste sur le jour qui doit etre 0 pour une heure.
Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
2
0
Merci
C'est pas jour (qui doit etre le 30 decembre 1899) qu'il faut tester mais datevalue...ca donnerai,

if isdate(text1.text)=true then

if datevalue(text1)=0 then
' text1 est une heure valide

else

' text1 est une date, pas une heure

end if
else
text1 n'est ni une heure ni une date valide
end if




pour ce qui est des formats non standards, 23h17m16s
ou pire, pourquois pas 10heure moins le quart du matin
, bon courage...
Messages postés
338
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
4 novembre 2008
0
Merci
tu n'a qu'a autoriser juste les nombre et ":"


c.a.d les caractere valide "123456789:"


tu fais ton test dans l'evenement keypresse de la zone text comme ca tu est sur qu'il ne peut pas entrer une date

Hassen TUNISIE
Messages postés
517
Date d'inscription
samedi 3 février 2001
Statut
Modérateur
Dernière intervention
24 octobre 2006
1
0
Merci
Donc If text1.text like "##:##:##" then est bien la meilleure solution ;).

Les # corresponde a un chiffre dans la comparaison avec like. Donc tout ce qui n'est pas un chiffre sera refusé.
En gros:

"11:24:05" like "##:##:##" = True
"1e:az:fr" like "##:##:##" = false
"11/03/05" like "##:##:##" = false
"toto" like "##:##:##" = false

donc c'est bon ;)


Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/
Messages postés
338
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
4 novembre 2008
0
Merci
c pas bon parce que
"99:99:99" like "##:##:##" =True ' ce n'est pas vrai
alors c'est pas une bonne solution

Hassen TUNISIE
Messages postés
3
Date d'inscription
samedi 25 septembre 2004
Statut
Membre
Dernière intervention
1 mars 2005
0
Merci
Merci beaucoup à vous tous qui m'avez répondu aussi rapidement j'ai bien trouver ce que je cherchais.... Special thanks à Warning

Manix