Valider un format date à partir d'un textbox

Le
zOrg2net
Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet
  • Partager ce contenu :
Vos réponses Page 1 / 3
Trier par : date / pertinence
zOrg2net
Le #4368851
Merci, j'ai trouvé
MaDate= Format(Me.TextDate, "00/00/00")

zOrg2net


Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet


MichDenis
Le #4368831
Le plus simple est d'utiliser un contrôle : "calendar" que tu ajoutes
comme contrôle supplémentaire à la barre d'outils pour formulaire
et tu emploies ce dernier pour remplir ton Textbox. Tu peux même
jouer avec la propriété Locked de ton Textbox pour t'assurer que
l'usager ne pourra modifier manuellement la valeur du textbox après
que ce dernier soit renseigné



"zOrg2net"
Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet
anonymousA
Le #4368821
Bonjour

MsgBox IsDate(Me.TextBox1.Value)

A+
Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet


MichDenis
Le #4368811
| MaDate= Format(Me.TextDate, "00/00/00")

Qu'est-ce qui te dit que la valeur entrée est une date dans ton textbox ?

Si dans ton textbox, tu entres 08/06/07 comment excel doit interpréter la date ?
8 juin 2007 , 8 août 2007 ou le 7 juin 2008
La fonction "isDate() te dit seulement qu'excel reconnaît la donnée comme une date sans plus.
la fonction de conversion Cdate() utilise le format défini dans le panneau de configuration de
windows
pour interpréter le format de la date. Que ce passe-t-il si ton programme est ouvert par des usagers
qui n'ont pas nécessairement la même configuration de Windows que toi ?




"zOrg2net"
Merci, j'ai trouvé
MaDate= Format(Me.TextDate, "00/00/00")

zOrg2net


Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet


zOrg2net
Le #4368731
J'ai essayé le contrôle calendar, mais il est un peu gros pour mon petit form
et je ne sais pas encore rapatrier les données d'un formulaire annexe dans un
formulaire principal.

A partir de vos réponse, j'ai essayé ceci:
If IsDate(Me.datecaution.Value) Then ' Lerreur de syntaxe se trouvait là
ActiveCell.Offset(0, 7).Value = Me.datecaution
Else
MsgBox "Veuillez saisir une date au format jj/mm/aa"
End If
Je l'ai mis dans la macro du bouton de validation, mais lorsque l'erreur se
produit, a la fermeture de la msgbox, le formulaire se ferme. Je cherche une
nouvelle idée. J'y arriverai!!!!

zOrg2net



Bonjour

MsgBox IsDate(Me.TextBox1.Value)

A+
Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet





isabelle
Le #4368701
bonjour,

utilise à la place "Microsft Date and Time Picker Control 6.0"
pour xl2002, il est a cette emplacement : c:Winntsystem32mscomct2.ocx

isabelle

J'ai essayé le contrôle calendar, mais il est un peu gros pour mon petit form
et je ne sais pas encore rapatrier les données d'un formulaire annexe dans un
formulaire principal.

A partir de vos réponse, j'ai essayé ceci:
If IsDate(Me.datecaution.Value) Then ' Lerreur de syntaxe se trouvait là
ActiveCell.Offset(0, 7).Value = Me.datecaution
Else
MsgBox "Veuillez saisir une date au format jj/mm/aa"
End If
Je l'ai mis dans la macro du bouton de validation, mais lorsque l'erreur se
produit, a la fermeture de la msgbox, le formulaire se ferme. Je cherche une
nouvelle idée. J'y arriverai!!!!

zOrg2net



Bonjour

MsgBox IsDate(Me.TextBox1.Value)

A+

Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet







zOrg2net
Le #4368691
Bon, j'ai mis mon test dans la procédure AfterUpdate et ça marche mieux.
Tiens puisque j'y suis, comment rapatrie-t-on la valeur du contrôle d'un
formulaire, dans un autre contrôle, d'un autre formulaire ??...

zOrg2net


J'ai essayé le contrôle calendar, mais il est un peu gros pour mon petit form
et je ne sais pas encore rapatrier les données d'un formulaire annexe dans un
formulaire principal.

A partir de vos réponse, j'ai essayé ceci:
If IsDate(Me.datecaution.Value) Then ' Lerreur de syntaxe se trouvait là
ActiveCell.Offset(0, 7).Value = Me.datecaution
Else
MsgBox "Veuillez saisir une date au format jj/mm/aa"
End If
Je l'ai mis dans la macro du bouton de validation, mais lorsque l'erreur se
produit, a la fermeture de la msgbox, le formulaire se ferme. Je cherche une
nouvelle idée. J'y arriverai!!!!

zOrg2net



Bonjour

MsgBox IsDate(Me.TextBox1.Value)

A+
Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet







MichDenis
Le #4368681
Un exemple simple là avec un calendrier : http://cjoint.com/?ctqzYRmvg8

Je travaille sous excel 2003, si tu as une autre version, il faudra que tu remplaces
le contrôle calendar1 par le contrôle de ta version...


"zOrg2net"
J'ai essayé le contrôle calendar, mais il est un peu gros pour mon petit form
et je ne sais pas encore rapatrier les données d'un formulaire annexe dans un
formulaire principal.

A partir de vos réponse, j'ai essayé ceci:
If IsDate(Me.datecaution.Value) Then ' Lerreur de syntaxe se trouvait là
ActiveCell.Offset(0, 7).Value = Me.datecaution
Else
MsgBox "Veuillez saisir une date au format jj/mm/aa"
End If
Je l'ai mis dans la macro du bouton de validation, mais lorsque l'erreur se
produit, a la fermeture de la msgbox, le formulaire se ferme. Je cherche une
nouvelle idée. J'y arriverai!!!!

zOrg2net



Bonjour

MsgBox IsDate(Me.TextBox1.Value)

A+
Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet





MichDenis
Le #4368671
Il y a même cette barre d'outils personnalisée de Michel Perron que tu peux ajouter au moment
opportum afin de saisir la date. Il ne te reste plus qu'à utiliser la propriété visible de la barre
d'outils selon que ton contrôle textbox a le focus ou pas.

La date retourne la date dans la cellule active, en modifiant très légèrement
la procédure, tu peux retourner la date dans le textbox au format désiré.

'---------------------------------
Sub AddCalendar()
Application.ScreenUpdating = False
Call MenuDelete
Dim CmdBar As CommandBar, i As Integer
Set CmdBar = Application.CommandBars.Add("Calendar", msoBarTop)
With CmdBar.Controls.Add(Type:=msoControlComboBox)
.Style = msoComboNormal: .Width = 50
For i = 1980 To 2020: .AddItem i: Next i
.Text = Year(Date)
.OnAction = ThisWorkbook.Name & "!UpDateDays"
End With
UpDateDays
CmdBar.Visible = True
Set CmdBar = Nothing
End Sub

Private Sub UpDateDays()
Application.ScreenUpdating = False
Dim m%, a%, j%
With Application.CommandBars("Calendar")
a = CInt(.Controls(1).Text)
Do While .Controls.Count > 1
.Controls(.Controls.Count).Delete
Loop
For m = 1 To 12
With .Controls.Add(msoControlPopup)
.Caption = Format(DateSerial(1, m, 1), "mmmm")
For j = 1 To Day(DateSerial(a, m + 1, 0))
With .Controls.Add
.Caption = Format(DateSerial(a, m, j), "dd/mm/yy - dddd")
.OnAction = ThisWorkbook.Name & "!DateSelect"
.Style = msoButtonCaption
End With
Next j
End With
Next m
End With
End Sub

Sub MenuDelete()
On Error Resume Next
Application.CommandBars("Calendar").Delete
End Sub

Private Sub DateSelect()
Dim a%
With Application
a = CInt(.CommandBars("Calendar").Controls(1).Text)
ActiveCell = DateSerial(a, .Caller(2) - 1, .Caller(1))
End With
End Sub
'------------------------------------------





"zOrg2net"
Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvoyer
une date. Comment tester le format date jj/mm/aa à la validation des données.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreurs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet
JB
Le #4368661
Bonjour,

http://boisgontierj.free.fr/fichiers/Formulaire/Form_DateSaisie1.xls

JB

On 19 fév, 15:22, zOrg2net
Bonjour,

Soit un formulaire avec des textbox. Un de ces contrôles, doit me renvo yer
une date. Comment tester le format date jj/mm/aa à la validation des do nnées.
J'ai essayé 'If IsDate Me.TextDate then' mais aparemment j'ai des erreu rs de
syntaxe et ça ne veux rien savoir.
Merci de vos réponses.

zOrg2net
7OuNet


Poster une réponse
Anonyme