Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Valider un format date à partir d'un textbox

22 réponses
Avatar
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

10 réponses

1 2 3
Avatar
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


Avatar
MichDenis
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" a écrit dans le message de news:

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
Avatar
anonymousA
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


Avatar
MichDenis
| 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" a écrit dans le message de news:

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


Avatar
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





Avatar
isabelle
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







Avatar
zOrg2net
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







Avatar
MichDenis
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" a écrit dans le message de news:

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





Avatar
MichDenis
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" a écrit dans le message de news:

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
Avatar
JB
Bonjour,

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

JB

On 19 fév, 15:22, zOrg2net wrote:
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


1 2 3