Juste un fonction qui prend en entrée une date et retourne le numéro de la semaine.
C'est très utile dans le milieu professionnel où l'on se sert souvent des numéros de semaine pour la planification des tâches.
Code : Tout sélectionner
Procedure WeekOfYear(s)
;d contient le jour de la semaine du 1er janvier de l'année
d=DayOfWeek(Date(Year(s),01,01,00,00,00))
If d=0:d=7:EndIf
If d<=4 ;lundi, mardi, mercredi, jeudi
dd=9-d
Else ;vendredi, samedi, dimanche
dd=d-9
EndIf
dd=DayOfYear(s)+dd
dd=Round(dd/7,0)+1
If dd=0:dd=WeekOfYear(Date(Year(s)-1,12,29,08,0,0)):EndIf
ProcedureReturn dd
EndProcedure
;exemple: affiche le numéro de semaine du 4 janvier 2010 à 8h00 du matin
Debug WeekOfYear(Date(2010,01,04,08,0,0))
En espérant que cela vous sera utile...
