Accueil > > > FORMATER UN TEXTBOX POUR LA DATE ET L'HEURE
FORMATER UN TEXTBOX POUR LA DATE ET L'HEURE
Information sur la source
Description
pour valider et formatter un textbox lorsque vous souhaitez n'avoir qu'un format date ou heure. Et oui l'inputmask d'Acces n'existe pas en VB. Ces 2 fonctions permettent de vérifier les caractères saisis, attention !! en supposant que l'utilisateur n'ait saisi que des chiffres pour n'autoriser que les chiffres utilisez ES_NUMBR et les APIs GetWindowLong et SetWindow Long ou des tests sur l'évènement Keypress.
Source
- Public Function Check_DateFormat(m As TextBox) As Integer
- ' Fonction permettant de vérifier si la date entrée dans un Textbox
- ' (de la forme jjmmaaaa) a un format valide
- ' renvoie 0 si le format est valide, 1 sinon
-
- Dim nb As Integer
- Dim jr As Integer
- Dim ms As Integer
- Dim ann As Integer
-
- Check_DateFormat = 0
-
- ' l'utilisateur doit renseigner le TextBox de la forme jjmmaaaa
- If Len(m) <> 8 Then
- ' sinon on sort
- Check_DateFormat = 1
- Exit Function
- End If
-
- jr = Fix(m / 1000000) ' pour obtenir le jour
- ms = m - (jr * 1000000)
- ms = Fix(ms / 10000) ' pour obtenir le mois
- ann = m - (jr * 1000000 + ms * 10000) ' et l'année
-
- ' on détermine le nombre de jour dans le mois
- Select Case ms
- Case 1, 3, 5, 7, 8, 10, 12: nb = 31
- Case 2:
- ' année bissextile ???
- If ((ann / 4) - Fix(ann / 4)) = 0 Then nb = 29 Else nb = 28
- Case 4, 6, 9, 11: nb = 30
- End Select
-
- ' on teste si la date est correcte
- If ms > 12 Or jr > nb Or ann > Year(Now) Then
- m = ""
- Check_DateFormat = 1
- Exit Function
- End If
-
- End Function
-
- Public Function Check_HourFormat(m As TextBox) As Integer
- ' Fonction permettant de vérifier si l'heure entrée dans un Textbox
- ' (de la forme hhmm) a un format valide
- ' renvoie 0 si le format est valide, 1 sinon
-
- Dim hr As Integer
- Dim min As Integer
-
- Check_HourFormat = 0
-
- ' l'utilisateur doit renseigner le TextBox de la forme hhmm
- If Len(m) <> 4 Then
- ' sinon on sort
- Check_HourFormat = 1
- Exit Function
- End If
-
- hr = Fix(m / 100) ' pour obtenir l'heure
- min = m - (hr * 100) ' pour obtenir les minutes
-
- ' on teste si c'est correct
- If hr > 23 Or min > 59 Then
- m = ""
- Check_HourFormat = 1
- Exit Function
- End If
-
- End Function
-
- ' EXEMPLE pour la date
- ' ----------
- ' Pour appeler la fonction et formatter la zone, on utilise l'evt LostFocus
- ' (ici le controle s'appelle Date hein :) )
-
- Private Sub Date_LostFocus()
-
- If Check_DateFormat(Me.Date) = 1 Then
- msg = MsgBox("Le Format de la date n'est pas valide", vbExclamation, "Erreur")
- Me.Date = ""
- Me.Date.SetFocus
- Else
- ' on formatte
- Me.Date = Mid(Me.Date, 1, 2) & "/" & Mid(Me.Date, 3, 2) & "/" & Mid(Me.Date, 5, 4)
- End If
-
- End Sub
-
- ' EXEMPLE pour l'heure
- ' ----------
-
- Private Sub Heure_LostFocus()
-
- If Check_HourFormat(Me.Heure) = 1 Then
- msg = MsgBox("Le Format de l'heure n'est pas valide", vbExclamation, "Erreur")
- Me.Heure = ""
- Me.Heure.SetFocus
- Else
- Me.Heure = Mid(Me.Heure, 1, 2) & ":" & Mid(Me.Heure, 3, 2)
- End If
-
- End Sub
-
-
Public Function Check_DateFormat(m As TextBox) As Integer
' Fonction permettant de vérifier si la date entrée dans un Textbox
' (de la forme jjmmaaaa) a un format valide
' renvoie 0 si le format est valide, 1 sinon
Dim nb As Integer
Dim jr As Integer
Dim ms As Integer
Dim ann As Integer
Check_DateFormat = 0
' l'utilisateur doit renseigner le TextBox de la forme jjmmaaaa
If Len(m) <> 8 Then
' sinon on sort
Check_DateFormat = 1
Exit Function
End If
jr = Fix(m / 1000000) ' pour obtenir le jour
ms = m - (jr * 1000000)
ms = Fix(ms / 10000) ' pour obtenir le mois
ann = m - (jr * 1000000 + ms * 10000) ' et l'année
' on détermine le nombre de jour dans le mois
Select Case ms
Case 1, 3, 5, 7, 8, 10, 12: nb = 31
Case 2:
' année bissextile ???
If ((ann / 4) - Fix(ann / 4)) = 0 Then nb = 29 Else nb = 28
Case 4, 6, 9, 11: nb = 30
End Select
' on teste si la date est correcte
If ms > 12 Or jr > nb Or ann > Year(Now) Then
m = ""
Check_DateFormat = 1
Exit Function
End If
End Function
Public Function Check_HourFormat(m As TextBox) As Integer
' Fonction permettant de vérifier si l'heure entrée dans un Textbox
' (de la forme hhmm) a un format valide
' renvoie 0 si le format est valide, 1 sinon
Dim hr As Integer
Dim min As Integer
Check_HourFormat = 0
' l'utilisateur doit renseigner le TextBox de la forme hhmm
If Len(m) <> 4 Then
' sinon on sort
Check_HourFormat = 1
Exit Function
End If
hr = Fix(m / 100) ' pour obtenir l'heure
min = m - (hr * 100) ' pour obtenir les minutes
' on teste si c'est correct
If hr > 23 Or min > 59 Then
m = ""
Check_HourFormat = 1
Exit Function
End If
End Function
' EXEMPLE pour la date
' ----------
' Pour appeler la fonction et formatter la zone, on utilise l'evt LostFocus
' (ici le controle s'appelle Date hein :) )
Private Sub Date_LostFocus()
If Check_DateFormat(Me.Date) = 1 Then
msg = MsgBox("Le Format de la date n'est pas valide", vbExclamation, "Erreur")
Me.Date = ""
Me.Date.SetFocus
Else
' on formatte
Me.Date = Mid(Me.Date, 1, 2) & "/" & Mid(Me.Date, 3, 2) & "/" & Mid(Me.Date, 5, 4)
End If
End Sub
' EXEMPLE pour l'heure
' ----------
Private Sub Heure_LostFocus()
If Check_HourFormat(Me.Heure) = 1 Then
msg = MsgBox("Le Format de l'heure n'est pas valide", vbExclamation, "Erreur")
Me.Heure = ""
Me.Heure.SetFocus
Else
Me.Heure = Mid(Me.Heure, 1, 2) & ":" & Mid(Me.Heure, 3, 2)
End If
End Sub
Conclusion
Ben voilà je suis pas un pro du code mais y'a ptet un moyen moins lourd ........... à vous de voir !!
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Textbox contenant une date ou heure [ par osok ]
En fait j'ai plusieurs textbox qui doivent contenir des heures et des dates.Mais je ne sais pas comment faire pour que la valeur de la textbox soit au
Masque de saisie pour date ou heure ou code postal [ par Loulou7 ]
Bonjour à tous, j'aurais voulu savoir comment faire un masque de saisie sur un textbox (dd/mm/yyyy). J'aimerai avoir une fonction globa
Afficher un format date en saisie dans un textbox [ par lurevital ]
Bonjour,Je ne sais pas comment faire en VB pour pouvoir saisir une date dans un textbox en faisant afficher à l'utilisateur quelque chose du genre JJ/
copie différentielle par date [ par spejosse ]
Slt! J'ai cherché un peu partout sur les sources et forums sans résultats, je cherche à faire en VBS une copie de sauvegarde diffé
2 question : [ par h_adil ]
la première comment a partire des multiplication des deux valeur par exemple quantité * temps on peut trouvé la date, heure
horloge [ par mouky66 ]
salutje voudrai changer l'heure et la date de mon pc en passant par un programme.on ma indiquerdate = "ta/date/2005"time = "heure/minute/00"le truc c
date debut date de fin [ par h_adil ]
bonjour!j'ai 4 champs [date debut] , [heure debut], [quantité], et [ tempps unitaire] ( en minute).je veut calculer la date de fi
comment ajouter une valeur numerique a une date [ par h_adil ]
bonjour!j'ai 4 champs [date debut] , [heure debut], [quantité], et [ tempps unitaire] ( en minute).je veut calculer la date de fi
convertir date/heure en entier (integer) [ par sabou94 ]
bonjour, voila je voudrais pouvoir comparer deux dates et en ressortir le nombre de jours qui les separent (par exemple comparer le 10/02/2005 11h00 e
10 fichiers textes a transférer dans excel [ par snake57 ]
Bonjour a tousJ'ai actuellement un petit soucis avec 10 fichiers au format cvs (ce sont des fichiers qui peuvent être ouvert avec le bloc note).L
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|