cs_frop01
Messages postés1352Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention19 novembre 2008
-
5 août 2004 à 17:16
cs_FAS
Messages postés88Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention24 février 2006
-
27 août 2004 à 19:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_FAS
Messages postés88Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention24 février 2006 27 août 2004 à 19:49
d -> 6 par exemple, sans 0.
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 6 août 2004 à 15:04
et d tout seul?
Format(LaDate, "d.m.yyyy")
++
Moustachu
el_teedee
Messages postés497Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention13 juillet 20159 6 août 2004 à 09:50
.... Lol
bah oui, merci, je savais pas, dd -> 06, ddd-> initiales du jour, dddd-> jour en toutes lettres, pareil pour "mm","mmm", ou "mmmm"
Donc Format$(LaDate,"dddd.mmmm.yyyy") donne :
Vendredi.Aout.2004
thx crenaud76
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 6 août 2004 à 09:05
Et comme cela !
Format$(LaDate,"dd.mm.yyyy")
Ca vous suffit pas ?
el_teedee
Messages postés497Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention13 juillet 20159 6 août 2004 à 01:43
Oh, que non, j'apprécie qu'on réponde a mes sources ... :)
alors, convertir 30.30.2004, c pas possible, car la textbox étant au format date, des que tu laches le focus, la date est convertie toutes seule si elle est valide, sinon il te marque une erreur : 'vous avez rentrez une valeur incorrecte pour cette textbox a cause de son type : date' (ou un truc dans le genre)
2emement: ma fonction ne sert QUE quand (c le cas dans mon appli) la textbox recoit par défaut la date, qui sera comme aujourd'hui -> 6.8.2004.
Si tu ne touches pas à la date, elle reste ainsi, donc c pas bon :/
Si tu prends le focus et que tu perds le focus -> reste ainsi, pas bon :/
Si tu remplace un caractère, ex 6-> 5 ou même 6->6, la, seulement, ACCESS, (enfin, la textbox) convertit ta date en 06.08.2004. c bon :)
Je voulais donc une fonction qui corrige ce format quand tu ne touches pas a la date / textbox (ex : la date par défaut te convient)
Kapisch ?
:)
amicalement
cs_frop01
Messages postés1352Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention19 novembre 20082 5 août 2004 à 20:55
Ahh oui j'avais pas vu le (<> 10 )
mais c'est tellement évident que la fonction Convert_Date doit impérativement tester la validité de la date (si c'est correct)
si len(Date) = 10 alors teste la validité de la date sinon
changer le format et tester une autre fois
enfin je n'ai pas vb pour tester mais c'est quoi le résultat de ca :
ne prends pas mal mes messages mais c'est juste pour disucuter et améliorer le code ;)
Merci de ta compréhension ;)
el_teedee
Messages postés497Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention13 juillet 20159 5 août 2004 à 19:43
Heu, je suis pas trop d'accord avec toi... enfin ché pas
else
Conversion_Date = ""
End If
si la date est correcte, alors tu la remplace par "", c'est a dire tu l'effaces? Je suis pas d'accord... If c'est pas correct -> traitement, sinon... ben pas de else en fait, ma fonction retourne la meme date si elle était déjà correcte...
end if
Conversion_Date = La_Date
end sub
ahhhhhhhhhhhhh
ok je viens de piger ^^
si elle est correcte, le fonction retourne "", et si c "", alors ........
hmmmmmmm, non , en fait je vois pas.....
c tellement plus simple c ke j'ai fait (et ca marche)... dis moi ou ca couille... lol
ps : si c le fait que je test pas si y'a une date, en effet je le fait dans mon programme, mais ca se fait ailleurs, et j'allais pas mettre tout mon programme (trop long) ici...
^^
cs_frop01
Messages postés1352Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention19 novembre 20082 5 août 2004 à 17:16
bon g pas tester ce code mais je crois que c'est plus juste comme ca :
Function Conversion_Date(La_Date As String) As String
Dim Jour, Mois As String
If Len(La_Date) <> 10 Then
'l'expression de la date n'a pas le bon format
'teste le jour:
Jour = Left(La_Date, InStr(1, La_Date, "."))
If Len(Jour) <> 3 Then
'le jour n'est pas correct:
Jour = "0" & Jour
Jour = Left(Jour, 2)
Mois = Right(La_Date, 7)
If Left(Mois, 1) = "." Then
'le mois n'est pas correct:
Mois = Right(Mois, 6)
Mois = "0" & Mois
End If
La_Date = Jour & "." & Mois
End If
Conversion_Date = La_Date
else
Conversion_Date = ""
End If
End Function
et dans l'événement à appeler :
Private Sub Bouton_OK_Click()
if Conversion_Date(Text_Date)="" then
Text_Date = Conversion_Date(Text_Date)
else
msgbox"Veuillez resaisir la date"
endif
End Sub
27 août 2004 à 19:49
6 août 2004 à 15:04
Format(LaDate, "d.m.yyyy")
++
Moustachu
6 août 2004 à 09:50
bah oui, merci, je savais pas, dd -> 06, ddd-> initiales du jour, dddd-> jour en toutes lettres, pareil pour "mm","mmm", ou "mmmm"
Donc Format$(LaDate,"dddd.mmmm.yyyy") donne :
Vendredi.Aout.2004
thx crenaud76
6 août 2004 à 09:05
Format$(LaDate,"dd.mm.yyyy")
Ca vous suffit pas ?
6 août 2004 à 01:43
alors, convertir 30.30.2004, c pas possible, car la textbox étant au format date, des que tu laches le focus, la date est convertie toutes seule si elle est valide, sinon il te marque une erreur : 'vous avez rentrez une valeur incorrecte pour cette textbox a cause de son type : date' (ou un truc dans le genre)
2emement: ma fonction ne sert QUE quand (c le cas dans mon appli) la textbox recoit par défaut la date, qui sera comme aujourd'hui -> 6.8.2004.
Si tu ne touches pas à la date, elle reste ainsi, donc c pas bon :/
Si tu prends le focus et que tu perds le focus -> reste ainsi, pas bon :/
Si tu remplace un caractère, ex 6-> 5 ou même 6->6, la, seulement, ACCESS, (enfin, la textbox) convertit ta date en 06.08.2004. c bon :)
Je voulais donc une fonction qui corrige ce format quand tu ne touches pas a la date / textbox (ex : la date par défaut te convient)
Kapisch ?
:)
amicalement
5 août 2004 à 20:55
mais c'est tellement évident que la fonction Convert_Date doit impérativement tester la validité de la date (si c'est correct)
si len(Date) = 10 alors teste la validité de la date sinon
changer le format et tester une autre fois
enfin je n'ai pas vb pour tester mais c'est quoi le résultat de ca :
Text_Date = Conversion_Date("30.30.2004")
Text_Date = Conversion_Date("a1.z.2004")
Est ce que c'est valable ??
ne prends pas mal mes messages mais c'est juste pour disucuter et améliorer le code ;)
Merci de ta compréhension ;)
5 août 2004 à 19:43
si la date est correcte, alors tu la remplace par "", c'est a dire tu l'effaces? Je suis pas d'accord... If c'est pas correct -> traitement, sinon... ben pas de else en fait, ma fonction retourne la meme date si elle était déjà correcte...
ahhhhhhhhhhhhh
ok je viens de piger ^^
si elle est correcte, le fonction retourne "", et si c "", alors ........
hmmmmmmm, non , en fait je vois pas.....
c tellement plus simple c ke j'ai fait (et ca marche)... dis moi ou ca couille... lol
ps : si c le fait que je test pas si y'a une date, en effet je le fait dans mon programme, mais ca se fait ailleurs, et j'allais pas mettre tout mon programme (trop long) ici...
^^
5 août 2004 à 17:16
Function Conversion_Date(La_Date As String) As String
Dim Jour, Mois As String
If Len(La_Date) <> 10 Then
'l'expression de la date n'a pas le bon format
'teste le jour:
Jour = Left(La_Date, InStr(1, La_Date, "."))
If Len(Jour) <> 3 Then
'le jour n'est pas correct:
Jour = "0" & Jour
Jour = Left(Jour, 2)
Mois = Right(La_Date, 7)
If Left(Mois, 1) = "." Then
'le mois n'est pas correct:
Mois = Right(Mois, 6)
Mois = "0" & Mois
End If
La_Date = Jour & "." & Mois
End If
Conversion_Date = La_Date
else
Conversion_Date = ""
End If
End Function
et dans l'événement à appeler :
Private Sub Bouton_OK_Click()
if Conversion_Date(Text_Date)="" then
Text_Date = Conversion_Date(Text_Date)
else
msgbox"Veuillez resaisir la date"
endif
End Sub