Extraction de caractères pour contrôle des minutes!

Résolu
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 6 juil. 2008 à 20:27
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 7 juil. 2008 à 23:29
Bonjour,

je souhaiterai contrôler les minutes d'un textbox. En fait, j'ai un textbox (format texte) dans lequel je saisis l'heure (au format 16:59 par exemple) mais je ne sais pas comment extraire uniquement les deux derniers caractères (ici le 59) à partir de la troisième position afin de pouvoir faire le test pour que les minutes soient < 60 et dans le même sens faire de telle sorte que les heures soient < 24. Merci d'avance.

NB : pour contrôler les minutes, j'ai essayé :
pos6 = InStr(4, txtheure.Text, "6", 1)
pos7 = InStr(4, txtheure.Text, "7", 1)
pos8 = InStr(4, txtheure.Text, "8", 1)
pos9 = InStr(4, txtheure.Text, "9", 1)
If pos6 Then
MsgBox "Veuillez resaisir les minutes svp!"
txtheure.SetFocus
ElseIf pos7 Then
MsgBox "Veuillez resaisir les minutes svp!"
txtheure.SetFocus
ElseIf pos8 Then
MsgBox "Veuillez resaisir les minutes svp!"
txtheure.SetFocus
ElseIf pos9 Then
MsgBox "Veuillez resaisir les minutes svp!"
txtheure.SetFocus
Else
End If

mais le problème est que même pour 16:48 il m'affiche l'erreur.

Cordialement

8 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 juil. 2008 à 00:38
Bon... (tu manges à tous les rateliers, toi... ...)

Alors écrivons ici également, ma foi :
PrivateSub Command1_Click()
  SelectCase IsDate(Text1.Text)
    CaseTrue
      ExitSub
    CaseFalse
      If Len(Text1.Text) < 5Then
 
MsgBox "heure non saisie ou incomplète"
      ElseIf Val(Text1.Text) > 23Then
            MsgBox "heure fausse"
      ElseIfMid(Text1.Text, 3, 1) <> ":"Then
            MsgBox "séparateur faux"
      Else
            MsgBox "minutes fausses"
      EndIf
  EndSelect
   
EndSub
3
alosamoelle Messages postés 129 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 23 mai 2009 1
6 juil. 2008 à 21:44
Bonjour, utilise split

T = Split(Text1.Text, ":")
Minutes = T(1)
Heures = T(0)
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
6 juil. 2008 à 21:48
Salut,

Et à quoi sert : Mid$, Left$ et Right$...? Mais je pense que cela serai plus facile avec : IsDate...Regarde avec ton aide en ligne ^^

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
6 juil. 2008 à 21:50
Avec Isdate, tu supprimes toutes tes lignes de code et tu l'ais remplace par une seule...c'est pas cool çà ^^ !

A+
Exploreur

 Linux a un noyau, Windows un pépin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 juil. 2008 à 23:43
Bonjour (et salut Exploreur) :
 Dim monheure As Date
  monheure = "16:59"
  MsgBox Minute(monheure)
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 2
6 juil. 2008 à 23:52
Salut à tous,

je vous remercie pour votre aide mais je ne suis toujours pas avancé. Quant à l'aide en ligne, je n'ai pas la connexion Internet où je programme, je suis obligé de venir au cyber voir les réponses du forum. Merci de bien vouloir m'aider.

Cordialement.
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 2
6 juil. 2008 à 23:53
Je rappelle que mon champ heure est de type texte.
 Merci.
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 2
7 juil. 2008 à 23:29
Bonsoir à tous,

je vous remercie beaucoup pour votre aide. ça marche à merveille, c'est vraiment ce que je recherchais. Merci.

NB : Spécial clin d'oeil à jmfmarques

Cordialement
0
Rejoignez-nous