RENVOI DU NUMÉRO DE SEMAINE (BOGUE DU 29 DÉCEMBRE 2003)
106
Messages postés39Date d'inscriptionjeudi 17 janvier 2002StatutMembreDernière intervention14 janvier 2008
-
4 févr. 2004 à 07:58
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
20 août 2007 à 04:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_kadertall
Messages postés3Date d'inscriptionlundi 23 juillet 2007StatutMembreDernière intervention 1 août 2007 6 août 2007 à 13:17
svp, quelle est la bonne solution retenue?
fkuchta
Messages postés44Date d'inscriptionjeudi 27 juin 2002StatutMembreDernière intervention20 novembre 2008 18 avril 2006 à 09:33
Je suppose que la bogue a été résolue car avec ce code :
Dim JeudiSemaine As Date
Dim NumSemJeudi As Integer
Dim CetteDate As Date
CetteDate = "31/12/2007"
JeudiSemaine = CetteDate - Weekday(CetteDate, vbMonday) + vbThursday - 1
NumSemJeudi = CInt(Format(JeudiSemaine, "ww", vbMonday, vbFirstFourDays))
MsgBox NumSemJeudi & "-" & Weekday(CetteDate, vbMonday)
J'obtiens toujours semaine 1 partout !!
Certainement un patch quelque part...
cs_buzzo
Messages postés29Date d'inscriptionjeudi 20 janvier 2005StatutMembreDernière intervention30 novembre 2006 17 avril 2006 à 12:06
Merci beaucoup pour ce source !
JCDussDuss
Messages postés24Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention20 novembre 2008 12 déc. 2005 à 10:02
Bonjour,
Merci pour cette petite fonction 106, qui fonctionne parfaitement au moins jusqu'en 2015 (je me suis arreté là dans mes tests). Pour ceux qui auraient la flemme d'utiliser cette fonction car ils auraient des dates supérieurs à 2003, sachez que la fonction Format bogue pour le 29/12/2003 mais également pour le 31/12/2007, qu'elle trouve comme seul et unique jour de la semaine 53 (au lieu de 01).
Merci encore.
JC
cs_NoFutur
Messages postés171Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention 6 mai 20071 21 mai 2004 à 16:39
Je me disais bien que j'avais écrit là ou il fallait pas :o)
fkuchta
Messages postés44Date d'inscriptionjeudi 27 juin 2002StatutMembreDernière intervention20 novembre 2008 21 mai 2004 à 16:37
Euh, excuse-moi, mais je ne vois pas l'intérêt : il s'agissait de trouver le numéro de semaine...
;-)
cs_NoFutur
Messages postés171Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention 6 mai 20071 21 mai 2004 à 15:20
Et pour la date complète il y a aussi :
MsgBox Format("29/12/2003", "Long Date")
Ce qui nous donne au final:
Lundi 29 Décembre 2003
fkuchta
Messages postés44Date d'inscriptionjeudi 27 juin 2002StatutMembreDernière intervention20 novembre 2008 23 févr. 2004 à 10:03
J'aime beaucoup ce bricolage aussi.
Ahhh, VB quand tu nous tiens !
fkuchta
Messages postés44Date d'inscriptionjeudi 27 juin 2002StatutMembreDernière intervention20 novembre 2008 23 févr. 2004 à 08:55
J'aime beaucoup ce bricolage aussi.
Ahhh, VB quand tu nous tiens !
ailleolit
Messages postés2Date d'inscriptionvendredi 18 juillet 2003StatutMembreDernière intervention22 février 2004 22 févr. 2004 à 14:23
Super, je cherchais comment resoudre mon probleme: c'est court,simple et efficace.
Merci
106
Messages postés39Date d'inscriptionjeudi 17 janvier 2002StatutMembreDernière intervention14 janvier 2008 4 févr. 2004 à 07:58
'J'ai eu le probleme
'Voila ma solution
'en utilisant weekday qui donne le jour de la semaine d'une date
' Ex : 29/12/2003 => Lundi
Public Function NumSemaine(CetteDate As Date)
Dim JeudiSemaine As Date
Dim NumSemJeudi As Integer
20 août 2007 à 04:18
Y'a aussi une soluce (enfin, 2) ici ^^
@++
6 août 2007 à 13:17
18 avril 2006 à 09:33
Dim JeudiSemaine As Date
Dim NumSemJeudi As Integer
Dim CetteDate As Date
CetteDate = "31/12/2007"
JeudiSemaine = CetteDate - Weekday(CetteDate, vbMonday) + vbThursday - 1
NumSemJeudi = CInt(Format(JeudiSemaine, "ww", vbMonday, vbFirstFourDays))
MsgBox NumSemJeudi & "-" & Weekday(CetteDate, vbMonday)
CetteDate = "29/12/2003"
JeudiSemaine = CetteDate - Weekday(CetteDate, vbMonday) + vbThursday - 1
NumSemJeudi = CInt(Format(JeudiSemaine, "ww", vbMonday, vbFirstFourDays))
MsgBox NumSemJeudi & "-" & Weekday(CetteDate, vbMonday)
J'obtiens toujours semaine 1 partout !!
Certainement un patch quelque part...
17 avril 2006 à 12:06
12 déc. 2005 à 10:02
Merci pour cette petite fonction 106, qui fonctionne parfaitement au moins jusqu'en 2015 (je me suis arreté là dans mes tests). Pour ceux qui auraient la flemme d'utiliser cette fonction car ils auraient des dates supérieurs à 2003, sachez que la fonction Format bogue pour le 29/12/2003 mais également pour le 31/12/2007, qu'elle trouve comme seul et unique jour de la semaine 53 (au lieu de 01).
Merci encore.
JC
21 mai 2004 à 16:39
21 mai 2004 à 16:37
;-)
21 mai 2004 à 15:20
MsgBox Format("29/12/2003", "Long Date")
Ce qui nous donne au final:
Lundi 29 Décembre 2003
23 févr. 2004 à 10:03
Ahhh, VB quand tu nous tiens !
23 févr. 2004 à 08:55
Ahhh, VB quand tu nous tiens !
22 févr. 2004 à 14:23
Merci
4 févr. 2004 à 07:58
'Voila ma solution
'en utilisant weekday qui donne le jour de la semaine d'une date
' Ex : 29/12/2003 => Lundi
Public Function NumSemaine(CetteDate As Date)
Dim JeudiSemaine As Date
Dim NumSemJeudi As Integer
JeudiSemaine = CetteDate - Weekday(CetteDate, vbMonday) + vbThursday - 1
NumSemJeudi = CInt(Format(JeudiSemaine, "ww", vbMonday, vbFirstFourDays))
NumSemaine = NumSemJeudi
End Function