verifier le format d'heure d'un textbox

verifier le format d'heure d'un textbox - VB/VBA/VBS - Programmation

Marsh Posté le 17-04-2006 à 05:35:16    

Salut à tous
 
Je suis en train de develloper une petite base de données en vba sur excel. Sur un formulaire l'utilisateur doit entrer une heure d'arrivée et une de depart.
 
Je vais ensuite effectuer un calcul sur excel à partir de ces 2 heures, les formats doivent donc etre corrects si je ne veux pas avoir d'erreur.
 
J'ai fais ceci:
 
horaire = Textbox4.Value
if Len (horaire) <> 5 OR Left (Right(horaire,3),1) <> ":" Then
MsgBox ("Format incorrect" )
EndIF
 
Je verifie donc que la chaine fait 5 caracteres et qu'il y a ":" au milieu mais ça n'empeche pas l'utilisateur d'ecrire par exemple "1h:00" ou meme pourquoi pas "lk:iu" ce qui me provoquera une erreur par la suite.
 
N'existe il pas une solution plus simple pour verifier le format sachant que celui ci doit etre de la forme hh:mm ?
 
Merci d'avance.

Reply

Marsh Posté le 17-04-2006 à 05:35:16   

Reply

Marsh Posté le 17-04-2006 à 19:13:34    

up

Reply

Marsh Posté le 17-04-2006 à 19:41:30    

Tu peux utiliser la fonction IsDate() qui te renvoie une valeur de type boolean, selon que son argument est une date ou non.
 
donc

  • IsDate("2:13" ) te renvoie True
  • IsDate("2:67" ) te renvoie False
  • IsDate("28:13" ) te renvoie False
  • IsDate("2h13" ) te renvoie False
  • IsDate("0002:13" ) te renvoie True


C'est déjà pas mal pour faire un contrôle de saisie. Au pire, tu multiplies les conditions en rajoutant les If que t'as déjà mis ;)
 
edit : smiley de mes co*$^ù* et couleurs...


Message édité par juju2k le 17-04-2006 à 19:43:30
Reply

Marsh Posté le 18-04-2006 à 05:37:48    

Merci Juju, c'est exactement ce qu'il me fallait pour simplifier mon code :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed