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
WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
VB6 + GRAPHVIZVB6 + GRAPHVIZ par nouirayosra
Cliquez pour lire la suite par nouirayosra
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|