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

USERFORM : Format Date dans une textbox

11 réponses
Avatar
te
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox ?

Merci d'avance

10 réponses

1 2
Avatar
twinley
Bonjour,

Trois personnes se sont donnés la peine de répondre à ta première
question...

--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox ?

Merci d'avance




Avatar
twinley
mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir que tu
avais au moins lu la première réponse, j'ai cru que tu reposais la même.
Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox ?

Merci d'avance




Avatar
te
Désolé,


j'ai récupéré une solution mais qui est loin d'être simple.
Connaissez-vous une méthode qui permette de récupérer dans une feuille Excel
la même date que celle saisie dans un userform ?
En fait, si dans le userform, je saisis : 06/05/2004 => dans Excel cela
devient : 05/06/2004.

Merci de votre aide,


----- Original Message -----
From: "twinley" <twinleym(at)hotmail.com>
Newsgroups: microsoft.public.fr.excel
Sent: Thursday, August 19, 2004 9:55 AM
Subject: Re: USERFORM : Format Date dans une textbox


mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir que tu
avais au moins lu la première réponse, j'ai cru que tu reposais la même.
Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox ?

Merci d'avance







"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news:

mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir que tu
avais au moins lu la première réponse, j'ai cru que tu reposais la même.
Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox ?

Merci d'avance








Avatar
Michel Gaboly
Bonjour,

Quel code utilises-tu pour reporter la date saisie vers Excel ?


Désolé,

j'ai récupéré une solution mais qui est loin d'être simple.
Connaissez-vous une méthode qui permette de récupérer dans une feuille Excel
la même date que celle saisie dans un userform ?
En fait, si dans le userform, je saisis : 06/05/2004 => dans Excel cela
devient : 05/06/2004.

Merci de votre aide,

----- Original Message -----
From: "twinley" <twinleym(at)hotmail.com>
Newsgroups: microsoft.public.fr.excel
Sent: Thursday, August 19, 2004 9:55 AM
Subject: Re: USERFORM : Format Date dans une textbox

mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir que tu
avais au moins lu la première réponse, j'ai cru que tu reposais la même.
Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox ?

Merci d'avance







"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news:

mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir que tu
avais au moins lu la première réponse, j'ai cru que tu reposais la même.
Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox ?

Merci d'avance








--
Cordialement,

Michel Gaboly
http://www.gaboly.com



Avatar
te
Je ne suis pas très calé donc voici le début du code :


Private Sub a_sauvegarde_Click()
Dim i As Integer


Sheets("BDD").Select
With Sheets("BDD")
i = 2

While Not IsEmpty(Sheets("BDD").Cells(i, 2))
i = i + 1
Wend

Sheets("BDD").Cells(i, 1) = i
Sheets("BDD").Cells(i, 2) = Formulaire.a_site.Value
Sheets("BDD").Cells(i, 3) = Formulaire.a_client.Value
Sheets("BDD").Cells(i, 4) = Formulaire.a_pv.Value
Sheets("BDD").Cells(i, 5) = Formulaire.a_marche.Value
Sheets("BDD").Cells(i, 6) = Month(Formulaire.a_date_reclam.Value)
Sheets("BDD").Cells(i, 7) = Formulaire.a_date_moulage.Value
Sheets("BDD").Cells(i, 8) = Formulaire.a_date_detourage.Value
Sheets("BDD").Cells(i, 9) = Formulaire.a_date_finition.Value
Sheets("BDD").Cells(i, 10) = Formulaire.a_date_peinture.Value


"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Quel code utilises-tu pour reporter la date saisie vers Excel ?


Désolé,

j'ai récupéré une solution mais qui est loin d'être simple.
Connaissez-vous une méthode qui permette de récupérer dans une feuille
Excel


la même date que celle saisie dans un userform ?
En fait, si dans le userform, je saisis : 06/05/2004 => dans Excel cela
devient : 05/06/2004.

Merci de votre aide,

----- Original Message -----
From: "twinley" <twinleym(at)hotmail.com>
Newsgroups: microsoft.public.fr.excel
Sent: Thursday, August 19, 2004 9:55 AM
Subject: Re: USERFORM : Format Date dans une textbox

mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir que
tu



avais au moins lu la première réponse, j'ai cru que tu reposais la
même.



Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox ?

Merci d'avance







"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news:

mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir que
tu



avais au moins lu la première réponse, j'ai cru que tu reposais la
même.



Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox ?

Merci d'avance








--
Cordialement,

Michel Gaboly
http://www.gaboly.com







Avatar
te
Complément d'info

Effectivement , si je tape 06/05/2004 cela devient 05/06/2004 MAIS
Si je tape 15/12/2004 alors j'ai bien 15/12/2004 dans Excel.
Cela viendrait donc du "0" ?

"te" a écrit dans le message de news:
#
Je ne suis pas très calé donc voici le début du code :


Private Sub a_sauvegarde_Click()
Dim i As Integer


Sheets("BDD").Select
With Sheets("BDD")
i = 2

While Not IsEmpty(Sheets("BDD").Cells(i, 2))
i = i + 1
Wend

Sheets("BDD").Cells(i, 1) = i
Sheets("BDD").Cells(i, 2) = Formulaire.a_site.Value
Sheets("BDD").Cells(i, 3) = Formulaire.a_client.Value
Sheets("BDD").Cells(i, 4) = Formulaire.a_pv.Value
Sheets("BDD").Cells(i, 5) = Formulaire.a_marche.Value
Sheets("BDD").Cells(i, 6) = Month(Formulaire.a_date_reclam.Value)
Sheets("BDD").Cells(i, 7) = Formulaire.a_date_moulage.Value
Sheets("BDD").Cells(i, 8) = Formulaire.a_date_detourage.Value
Sheets("BDD").Cells(i, 9) = Formulaire.a_date_finition.Value
Sheets("BDD").Cells(i, 10) = Formulaire.a_date_peinture.Value


"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Quel code utilises-tu pour reporter la date saisie vers Excel ?


Désolé,

j'ai récupéré une solution mais qui est loin d'être simple.
Connaissez-vous une méthode qui permette de récupérer dans une feuille
Excel


la même date que celle saisie dans un userform ?
En fait, si dans le userform, je saisis : 06/05/2004 => dans Excel
cela



devient : 05/06/2004.

Merci de votre aide,

----- Original Message -----
From: "twinley" <twinleym(at)hotmail.com>
Newsgroups: microsoft.public.fr.excel
Sent: Thursday, August 19, 2004 9:55 AM
Subject: Re: USERFORM : Format Date dans une textbox

mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir
que




tu
avais au moins lu la première réponse, j'ai cru que tu reposais la
même.



Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox
?






Merci d'avance







"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news:

mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir
que




tu
avais au moins lu la première réponse, j'ai cru que tu reposais la
même.



Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox
?






Merci d'avance








--
Cordialement,

Michel Gaboly
http://www.gaboly.com











Avatar
michdenis
Bonjour Te,


En supposant que tu as un textbox nommée : Textbox1
et que tu veuilles retourner son contenu "Date" vers
une cellule de la feuille excel.

'Tu tests d'abord que son contenu est vraiment un format date
'reconnu par excel

if isdate(me.textbox1) then
'Applique à la cellule le format date que tu veux
Range("A1").NumberFormat = "dd/mm/yy" ou tout autre format
'Affecte à la cellule la date du textbox1
Range("A1").value = Cdate(Me.textbox1)
else
Msgbox "Le textbox contient une donnée non reconnue comme une date"
end if


Salutations!


"te" a écrit dans le message de news:%
Complément d'info

Effectivement , si je tape 06/05/2004 cela devient 05/06/2004 MAIS
Si je tape 15/12/2004 alors j'ai bien 15/12/2004 dans Excel.
Cela viendrait donc du "0" ?

"te" a écrit dans le message de news:
#
Je ne suis pas très calé donc voici le début du code :


Private Sub a_sauvegarde_Click()
Dim i As Integer


Sheets("BDD").Select
With Sheets("BDD")
i = 2

While Not IsEmpty(Sheets("BDD").Cells(i, 2))
i = i + 1
Wend

Sheets("BDD").Cells(i, 1) = i
Sheets("BDD").Cells(i, 2) = Formulaire.a_site.Value
Sheets("BDD").Cells(i, 3) = Formulaire.a_client.Value
Sheets("BDD").Cells(i, 4) = Formulaire.a_pv.Value
Sheets("BDD").Cells(i, 5) = Formulaire.a_marche.Value
Sheets("BDD").Cells(i, 6) = Month(Formulaire.a_date_reclam.Value)
Sheets("BDD").Cells(i, 7) = Formulaire.a_date_moulage.Value
Sheets("BDD").Cells(i, 8) = Formulaire.a_date_detourage.Value
Sheets("BDD").Cells(i, 9) = Formulaire.a_date_finition.Value
Sheets("BDD").Cells(i, 10) = Formulaire.a_date_peinture.Value


"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Quel code utilises-tu pour reporter la date saisie vers Excel ?


Désolé,

j'ai récupéré une solution mais qui est loin d'être simple.
Connaissez-vous une méthode qui permette de récupérer dans une feuille
Excel


la même date que celle saisie dans un userform ?
En fait, si dans le userform, je saisis : 06/05/2004 => dans Excel
cela



devient : 05/06/2004.

Merci de votre aide,

----- Original Message -----
From: "twinley" <twinleym(at)hotmail.com>
Newsgroups: microsoft.public.fr.excel
Sent: Thursday, August 19, 2004 9:55 AM
Subject: Re: USERFORM : Format Date dans une textbox

mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir
que




tu
avais au moins lu la première réponse, j'ai cru que tu reposais la
même.



Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox
?






Merci d'avance







"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news:

mes excuses, c'est une autre question.
Mais comme tu n'as pas daigné du haut de ta grandeur faire savoir
que




tu
avais au moins lu la première réponse, j'ai cru que tu reposais la
même.



Tous le monde est à ta disposition, Mon Prince...
--
à+twinley
"te" a écrit dans le message de
news:e6Ai%
Bonjour,

quel code écrire pour avoir un format date valide dans une textbox
?






Merci d'avance








--
Cordialement,

Michel Gaboly
http://www.gaboly.com











Avatar
Daniel.M
Salut Denis,

Chez moi (en exécutant les instructions dans un événement TextBox1_Exit),
Pour l'entrée: 1/5/04
j'obtiens le 4 mai 2001

Pour l'entrée: 1/5/2004
j'obtiens le 5 janvier 2004

"Te" voudrait 1 mai 2004

Il se peut que mon ordi ait l'esprit aussi tordu que celui qui le manipule. :-)

Je proposerais de traiter la string du TextBox1 directement en lui associant 3
variables (UnJour, UnMois, UnAn) et de générer la date par DateSerial et
surtout, sans donner la chance au programme d'interpréter la date (ce qu'il
semble faire de façon différente selon les configs et paramètres/régionaux).

De plus, cela permet de ne pas relier le format de la date en A1 (sa
représentation) avec le code qui la récupère.

Dim UnJour As String, UnMois As String, UnAn As String
Dim i As Integer, j As Integer

If IsDate(Me.TextBox1) Then
'Applique à la cellule le format date que tu veux
i = InStr(1, Me.TextBox1, "/")
j = InStr(i + 1, Me.TextBox1, "/")
UnJour = Left$(Me.TextBox1, i - 1)
UnMois = Mid(Me.TextBox1, i + 1, j - i - 1)
UnAn = Mid(Me.TextBox1, j + 1)

'Affecte à la cellule la date du textbox1
Range("A1").Value = DateSerial(UnAn, UnMois, UnJour)

Else
MsgBox "Le textbox contient une donnée non reconnue comme une date"
End If

My two cents,

Daniel M.
Avatar
michdenis
Bonjour Daniel,

"Il se peut que mon ordi ait l'esprit aussi tordu que celui qui le manipule."
Je confirme...! )
Pour ce qui est de ma procédure, j'ai eu l'occasion de la traiter sous différentes versions d'Excel à l'exception de la
version Excel 97 (je suis trop jeune!!!) , et les résultats sont probants.
Comme je sais que tu travailles à partir d'une version anglaise d'Excel...il se peut très bien que tu obtiennes un résultat
étrange! Je n'en ferai pas une question de langue.... mais ..
Ceci étant dit, la fonction Cdate retourne un format date selon le format défini (par défaut) dans le panneau de
configuration et si tu es sur une version anglaise.. je doute fort que ce format soit : "JJ/MM/YY" )
Et quant à faire des tests, est-ce possible pour une version anglaise de réaliser un filtre automatique sur une colonne date
en entrant directement une date dans la fenêtre "personnaliser " du filtre automatique et en utilisant l'opérateur "Égal " ?
Si oui, qu'est-ce qui se passe si tu donnes à la date critère un format autre que celui retenu dans la colonne des dates ?
En français, la chose est impossible pour toutes les versions sauf Excel 2003 et encore là, Excel se contente d'un faire un
filtre comme si la date saisie était du texte.

Bonne journée,


Salutations!





"Daniel.M" a écrit dans le message de news:OOJFc$
Salut Denis,

Chez moi (en exécutant les instructions dans un événement TextBox1_Exit),
Pour l'entrée: 1/5/04
j'obtiens le 4 mai 2001

Pour l'entrée: 1/5/2004
j'obtiens le 5 janvier 2004

"Te" voudrait 1 mai 2004

Il se peut que mon ordi ait l'esprit aussi tordu que celui qui le manipule. :-)

Je proposerais de traiter la string du TextBox1 directement en lui associant 3
variables (UnJour, UnMois, UnAn) et de générer la date par DateSerial et
surtout, sans donner la chance au programme d'interpréter la date (ce qu'il
semble faire de façon différente selon les configs et paramètres/régionaux).

De plus, cela permet de ne pas relier le format de la date en A1 (sa
représentation) avec le code qui la récupère.

Dim UnJour As String, UnMois As String, UnAn As String
Dim i As Integer, j As Integer

If IsDate(Me.TextBox1) Then
'Applique à la cellule le format date que tu veux
i = InStr(1, Me.TextBox1, "/")
j = InStr(i + 1, Me.TextBox1, "/")
UnJour = Left$(Me.TextBox1, i - 1)
UnMois = Mid(Me.TextBox1, i + 1, j - i - 1)
UnAn = Mid(Me.TextBox1, j + 1)

'Affecte à la cellule la date du textbox1
Range("A1").Value = DateSerial(UnAn, UnMois, UnJour)

Else
MsgBox "Le textbox contient une donnée non reconnue comme une date"
End If

My two cents,

Daniel M.
Avatar
Daniel.M
Salut Denis,


Comme je sais que tu travailles à partir d'une version anglaise d'Excel...
il se peut très bien que tu obtiennes un résultat
étrange! Je n'en ferai pas une question de langue.... mais ..


Moi, si :-)

Ceci étant dit, la fonction Cdate retourne un format date selon
le format défini (par défaut) dans le panneau de
configuration et si tu es sur une version anglaise.. je doute
fort que ce format soit : "JJ/MM/YY" )


C'est "yyyy-MM-dd" en short style
et "MMMM d, yyyy" en long style

C'est pour ça que je suis prudent avec CDate(). Par définition, il ne fonctionne
pas partout pareil.


Et quant à faire des tests,


Bon, le Denis me fait travailler.

est-ce possible pour une version
anglaise de réaliser un filtre automatique sur une colonne date
en entrant directement une date dans la fenêtre "personnaliser " du
filtre automatique et en utilisant l'opérateur "Égal " ?


Oui mais, pour le 'Égal' il faut que la string inscrite dans la fenêtre
"personnaliser" soit rigoureusement la même que le résultat de la date formattée
dans la cellule (XL 2000, anglais).

Par ailleurs, pour le 'Égal ou plus grand' (is greater than or equal to), je
peux utiliser une expression du type "18 June 2004" et là, les résultats
fonctionnnent. Le plus drôle, c'est quand je reviens dans la boîte, mon texte a
été changé pour "2004-06-18"

J'ai pas testé tous les types de comparaisons mais déjà le fait que ça ne traite
pas le texte d'entrée de la même manière ...


Si oui, qu'est-ce qui se passe si tu donnes à la date critère un
format autre que celui retenu dans la colonne des dates ?


Avec Égal, ==> 0 ligne affichée.
Avec Égal ou plus grand, ça passe.

En français, la chose est impossible pour toutes les versions
sauf Excel 2003 et encore là, Excel se contente d'un faire un
filtre comme si la date saisie était du texte.


Un autre item à inscrire à la liste des choses à prendre à ligne de compte entre
les différentes versions.

Salutations,

Daniel M.

1 2