Soyez le premier à donner votre avis sur cette source.
Snippet vu 6 321 fois - Téléchargée 28 fois
Function TrouveSemaineDeLaDate(ByVal DateConcernee As Date) As String ' Bogue du lundi 29 décembre 2003 qui est compté en semaine 53 au lieu de semaine 1 If Format(DateConcernee, "dd/mm/yyyy", vbMonday, vbFirstFourDays) = "29/12/2003" Then TrouveSemaineDeLaDate = "01" Else TrouveSemaineDeLaDate = Format(Format(DateConcernee, "ww", vbMonday, vbFirstFourDays), "00") End If End Function Function TrouveAnneeDeLaDate(ByVal DateConcernee As Date) As String ' Bogue du lundi 29 décembre 2003 qui est compté en semaine 53 au lieu de semaine 1 If Format(DateConcernee, "dd/mm/yyyy", vbMonday, vbFirstFourDays) = "29/12/2003" Then TrouveAnneeDeLaDate = "2004" Else TrouveAnneeDeLaDate = Format(DateConcernee, "yyyy", vbMonday, vbFirstFourDays) End If End Function
Y'a aussi une soluce (enfin, 2) ici ^^
@++
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...
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
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.