J'aimerai transformer une date qui se trouve sous la forme "20 mai 2008" au
format string en "20/05/2008", j'ai essayé avec Cdate, Format mais j'obtiens
toujours une erreur "mismatch".
PS: je n'ai pas envisagé que les 1ers du mois soient codés 1er comme par exemple: 1er mai 2008. Pas de gestion d'erreur si tu tapes quelque chose qui n'est pas une date littérale.
Bonjour à tous,
J'aimerai transformer une date qui se trouve sous la forme "20 mai 2008" au format string en "20/05/2008", j'ai essayé avec Cdate, Format mais j'obtiens toujours une erreur "mismatch".
Merci par avance pour vos réponses.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
(Il doit peut-être exister des trucs plus simples)
Essaies avec cette fonction à copier dans un module, fonction que tu
pourras utiliser dans une requête, formulaire, ... :
Public Function DateLittVersDate(UneChaine As Variant) As Date
'Gère l'absence des accents sur les nom des mois
If IsNull(UneChaine) Or Len(UneChaine) = 0 Then Exit Function
Dim pos1 As Byte, pos2 As Byte
Dim strAnnee As String, strMois As String, strJour As String
Dim strRangMois As String
pos1 = InStr(UneChaine, " ")
pos2 = InStrRev(UneChaine, " ")
strJour = Left(UneChaine, pos1 - 1)
strAnnee = Mid(UneChaine, pos2 + 1)
strMois = Mid(UneChaine, pos1 + 1, pos2 - pos1 - 1)
strRangMois = Switch(strMois = "Janvier", "1", _
strMois = "Février" Or strMois = "Fevrier", "2", _
strMois = "Mars", "3", _
strMois = "Avril", "4", strMois = "Mai", "5", _
strMois = "Juin", "6", strMois = "Juillet", "7", _
strMois = "Août" Or strMois = "Aout", "8", _
strMois = "Septembre", "9", strMois = "Octobre", "10", _
strMois = "Novembre", "11", _
strMois = "Décembre" Or strMois = "Decembre", "12")
DateLittVersDate = DateSerial(Val(strAnnee), _
Val(strRangMois), Val(strJour))
End Function
PS: je n'ai pas envisagé que les 1ers du mois soient codés 1er comme par
exemple: 1er mai 2008.
Pas de gestion d'erreur si tu tapes quelque chose qui n'est pas une date
littérale.
Bonjour à tous,
J'aimerai transformer une date qui se trouve sous la forme "20 mai 2008" au
format string en "20/05/2008", j'ai essayé avec Cdate, Format mais j'obtiens
toujours une erreur "mismatch".
Merci par avance pour vos réponses.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
PS: je n'ai pas envisagé que les 1ers du mois soient codés 1er comme par exemple: 1er mai 2008. Pas de gestion d'erreur si tu tapes quelque chose qui n'est pas une date littérale.
Bonjour à tous,
J'aimerai transformer une date qui se trouve sous la forme "20 mai 2008" au format string en "20/05/2008", j'ai essayé avec Cdate, Format mais j'obtiens toujours une erreur "mismatch".
Merci par avance pour vos réponses.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Raymond [mvp]
Bonjour.
ce format est un format de date reconnu par access et peut être utilisé dans format directement et les conversions: essaie: Dim Ladate As String Ladate = "20 mai 2008" MsgBox Format(Ladate, "dd/mm/yyyy") ça doit t'afficher 20/05/2008
tu peux utiliser aussi: Dim Ladate As String Ladate = "20 mai 2008" MsgBox Format(CDate(Ladate), "dd/mm/yyyy") mais ça ne sert à rien.
tu peux faire aussi plus simple: Dim Ladate As String Ladate = "20 mai 2008" MsgBox CDate(Ladate) qui affichera 20/05/2008
-- @+ Raymond Access MVP http://OfficeSystemAccess.seneque.net/ http://officesystem.access.over-blog.com/ http://access2007.over-blog.com/ Pour débuter sur le forum: http://www.mpfa.info/
"Belgacom" a écrit dans le message de news: 483335e3$0$2946$ | Bonjour à tous, | | J'aimerai transformer une date qui se trouve sous la forme "20 mai 2008" au | format string en "20/05/2008", j'ai essayé avec Cdate, Format mais j'obtiens | toujours une erreur "mismatch". | | Merci par avance pour vos réponses. | | |
Bonjour.
ce format est un format de date reconnu par access et peut être utilisé dans
format directement et les conversions:
essaie:
Dim Ladate As String
Ladate = "20 mai 2008"
MsgBox Format(Ladate, "dd/mm/yyyy")
ça doit t'afficher 20/05/2008
tu peux utiliser aussi:
Dim Ladate As String
Ladate = "20 mai 2008"
MsgBox Format(CDate(Ladate), "dd/mm/yyyy")
mais ça ne sert à rien.
tu peux faire aussi plus simple:
Dim Ladate As String
Ladate = "20 mai 2008"
MsgBox CDate(Ladate)
qui affichera 20/05/2008
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/
"Belgacom" <fa055348@skynet.be> a écrit dans le message de news:
483335e3$0$2946$ba620e4c@news.skynet.be...
| Bonjour à tous,
|
| J'aimerai transformer une date qui se trouve sous la forme "20 mai 2008"
au
| format string en "20/05/2008", j'ai essayé avec Cdate, Format mais
j'obtiens
| toujours une erreur "mismatch".
|
| Merci par avance pour vos réponses.
|
|
|
ce format est un format de date reconnu par access et peut être utilisé dans format directement et les conversions: essaie: Dim Ladate As String Ladate = "20 mai 2008" MsgBox Format(Ladate, "dd/mm/yyyy") ça doit t'afficher 20/05/2008
tu peux utiliser aussi: Dim Ladate As String Ladate = "20 mai 2008" MsgBox Format(CDate(Ladate), "dd/mm/yyyy") mais ça ne sert à rien.
tu peux faire aussi plus simple: Dim Ladate As String Ladate = "20 mai 2008" MsgBox CDate(Ladate) qui affichera 20/05/2008
-- @+ Raymond Access MVP http://OfficeSystemAccess.seneque.net/ http://officesystem.access.over-blog.com/ http://access2007.over-blog.com/ Pour débuter sur le forum: http://www.mpfa.info/
"Belgacom" a écrit dans le message de news: 483335e3$0$2946$ | Bonjour à tous, | | J'aimerai transformer une date qui se trouve sous la forme "20 mai 2008" au | format string en "20/05/2008", j'ai essayé avec Cdate, Format mais j'obtiens | toujours une erreur "mismatch". | | Merci par avance pour vos réponses. | | |
Eric
Bonjour Raymond,
C'est bien ce que je disais
doit ... exister des trucs plus simples
Mais j'avais pas tester Format ni CDate en fonction de l'info donnée par Belgacom. Juste une petite remarque, si les accents sont omis, on récupère le texte ou une erreur suivant la fonction.
Bonjour.
ce format est un format de date reconnu par access et peut être utilisé dans format directement et les conversions: essaie: Dim Ladate As String Ladate = "20 mai 2008" MsgBox Format(Ladate, "dd/mm/yyyy") ça doit t'afficher 20/05/2008
tu peux utiliser aussi: Dim Ladate As String Ladate = "20 mai 2008" MsgBox Format(CDate(Ladate), "dd/mm/yyyy") mais ça ne sert à rien.
tu peux faire aussi plus simple: Dim Ladate As String Ladate = "20 mai 2008" MsgBox CDate(Ladate) qui affichera 20/05/2008
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour Raymond,
C'est bien ce que je disais
doit ... exister des trucs plus simples
Mais j'avais pas tester Format ni CDate en fonction de l'info donnée par
Belgacom.
Juste une petite remarque, si les accents sont omis, on récupère le
texte ou une erreur suivant la fonction.
Bonjour.
ce format est un format de date reconnu par access et peut être utilisé dans
format directement et les conversions:
essaie:
Dim Ladate As String
Ladate = "20 mai 2008"
MsgBox Format(Ladate, "dd/mm/yyyy")
ça doit t'afficher 20/05/2008
tu peux utiliser aussi:
Dim Ladate As String
Ladate = "20 mai 2008"
MsgBox Format(CDate(Ladate), "dd/mm/yyyy")
mais ça ne sert à rien.
tu peux faire aussi plus simple:
Dim Ladate As String
Ladate = "20 mai 2008"
MsgBox CDate(Ladate)
qui affichera 20/05/2008
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Mais j'avais pas tester Format ni CDate en fonction de l'info donnée par Belgacom. Juste une petite remarque, si les accents sont omis, on récupère le texte ou une erreur suivant la fonction.
Bonjour.
ce format est un format de date reconnu par access et peut être utilisé dans format directement et les conversions: essaie: Dim Ladate As String Ladate = "20 mai 2008" MsgBox Format(Ladate, "dd/mm/yyyy") ça doit t'afficher 20/05/2008
tu peux utiliser aussi: Dim Ladate As String Ladate = "20 mai 2008" MsgBox Format(CDate(Ladate), "dd/mm/yyyy") mais ça ne sert à rien.
tu peux faire aussi plus simple: Dim Ladate As String Ladate = "20 mai 2008" MsgBox CDate(Ladate) qui affichera 20/05/2008
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Raymond [mvp]
Bonjour eric.
c'est encore plus simple que ça. aucune erreur tolérée. les noms de mois doivent être indiqués avec le bon accent sinon il n'y aura pas de conversion de la donnée en date. exemple: Dim Ladate As String Ladate = "20 dècembre 2008" MsgBox Format(Ladate, "dd/mm/yyyy") affichera 20 dècembre 2008 seul décembre avec l'accent aigu est accepté.
de même: Dim Ladate As String Ladate = "20 december 2008" MsgBox Format(Ladate, "dd/mm/yyyy") affichera 20 december 2008
-- @+ Raymond Access MVP http://OfficeSystemAccess.seneque.net/ http://officesystem.access.over-blog.com/ http://access2007.over-blog.com/ Pour débuter sur le forum: http://www.mpfa.info/
"Eric" a écrit dans le message de news: % | Bonjour Raymond, | | C'est bien ce que je disais | > doit ... exister des trucs plus simples | | Mais j'avais pas tester Format ni CDate en fonction de l'info donnée par | Belgacom. | Juste une petite remarque, si les accents sont omis, on récupère le | texte ou une erreur suivant la fonction. |
Bonjour eric.
c'est encore plus simple que ça. aucune erreur tolérée.
les noms de mois doivent être indiqués avec le bon accent sinon il n'y aura
pas de conversion de la donnée en date.
exemple:
Dim Ladate As String
Ladate = "20 dècembre 2008"
MsgBox Format(Ladate, "dd/mm/yyyy")
affichera 20 dècembre 2008
seul décembre avec l'accent aigu est accepté.
de même:
Dim Ladate As String
Ladate = "20 december 2008"
MsgBox Format(Ladate, "dd/mm/yyyy")
affichera 20 december 2008
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
%232adPLyuIHA.6096@TK2MSFTNGP06.phx.gbl...
| Bonjour Raymond,
|
| C'est bien ce que je disais
| > doit ... exister des trucs plus simples
|
| Mais j'avais pas tester Format ni CDate en fonction de l'info donnée par
| Belgacom.
| Juste une petite remarque, si les accents sont omis, on récupère le
| texte ou une erreur suivant la fonction.
|
c'est encore plus simple que ça. aucune erreur tolérée. les noms de mois doivent être indiqués avec le bon accent sinon il n'y aura pas de conversion de la donnée en date. exemple: Dim Ladate As String Ladate = "20 dècembre 2008" MsgBox Format(Ladate, "dd/mm/yyyy") affichera 20 dècembre 2008 seul décembre avec l'accent aigu est accepté.
de même: Dim Ladate As String Ladate = "20 december 2008" MsgBox Format(Ladate, "dd/mm/yyyy") affichera 20 december 2008
-- @+ Raymond Access MVP http://OfficeSystemAccess.seneque.net/ http://officesystem.access.over-blog.com/ http://access2007.over-blog.com/ Pour débuter sur le forum: http://www.mpfa.info/
"Eric" a écrit dans le message de news: % | Bonjour Raymond, | | C'est bien ce que je disais | > doit ... exister des trucs plus simples | | Mais j'avais pas tester Format ni CDate en fonction de l'info donnée par | Belgacom. | Juste une petite remarque, si les accents sont omis, on récupère le | texte ou une erreur suivant la fonction. |