begin process at 2010 02 10 00:24:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date & Heure

 > FORMATER UN TEXTBOX POUR LA DATE ET L'HEURE

FORMATER UN TEXTBOX POUR LA DATE ET L'HEURE


 Information sur la source

Note :
Aucune note
Catégorie :Date & Heure Classé sous :formater, textbox, date, heure Niveau :Débutant Date de création :21/12/2001 Date de mise à jour :21/12/2001 09:29:38 Vu :7 306

Auteur : BELLIV

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 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

Source avec Zip Source avec une capture Source .NET (Dotnet) FUSEAUX HORAIRES (HORLOGES ANALOGIQUES) par Blodox
Source avec Zip Source avec une capture ANNIVERSAIRE,FÊTES ET DICTONS par claude440
Source avec Zip Source avec une capture CALCULE HEURES DE NUIT 2 par ocejade
NUMÉRO DE SEMAINE par vb5zh
Source avec Zip HORLOGE À AIGUILLES (RADIAN) par brainbass

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CALENDRIER VB6 ET HORLOGE ANALOGIQUE par enzo68290
Source avec Zip Source avec une capture CALCULE HEURES DE NUIT 2 par ocejade
Source avec Zip Source avec une capture DATE-HEURE DE LANCEMENT D'UN PROGRAMME par jack
Source avec Zip Source avec une capture GESTION HEURE DE GARDE par jimy neutron
Source avec Zip DATE ET HEURE PRÉCISE par fsltp

Commentaires et avis

Commentaire de shivan le 21/12/2001 10:30:52

ya pas plus cours en utilisant la fonction format ?
enfin je sais po, j'ai pas etudié le probleme ! ;-)
A+ bonne prog
$hîv@n

 Ajouter un commentaire


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&nbsp;&#224; tous, j'aurais voulu savoir comment faire un masque de saisie sur un textbox (dd/mm/yyyy).&nbsp;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&#233; un peu partout sur les sources et forums sans r&#233;sultats, je cherche &#224; faire en VBS une copie de sauvegarde diff&#233; 2 question : [ par h_adil ] la premi&#232;re comment&nbsp; a partire des multiplication des deux valeur par exemple quantit&#233; * temps on peut trouv&#233; la date, heure&nbsp; 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&nbsp;4 champs [date debut]&nbsp;, [heure debut],&nbsp; [quantit&#233;], 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&nbsp;4 champs [date debut]&nbsp;, [heure debut],&nbsp; [quantit&#233;], 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 &#234;tre ouvert avec le bloc note).L


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales