Numéro de semaine

Contenu du snippet

Afin de déterminer le numéro d'une semaine en partculier, j'ai écrit ce code en m'appuyant sur la Norme ISO 8601 permettant le comptage des semaines.

Source / Exemple :


Dim Date_Jeudi As Date 'Date du Jeudi de la semaine à référencer
Dim Date_4Janv As Date 'Le 4 Janvier de l'année en cours
Dim Indice4Janv As Integer 'Numéro du jour correspondant au 4 Janvier de l'année en cours
Dim Delta_Jour As Integer 'Différence de jour
Dim Date_1lundi As Date 'Date du 1er Lundi de la semaine du 4 Janvier
Dim Semaine As Integer 'Numéro de la semaine

 
Indice = WeekDay(DateT, vbMonday) - 1 'Indice du jour trouvé
Delta_Jour = 3 - Indice
Date_Jeudi = DateAdd("d", Delta_Jour, DateT) 'Où se trouve le jeudi de la semaine trouvée
Date_4Janv = DateSerial(Year(DateT), 1, 4)
If DateT < Date_4Janv Then Date_4Janv = DateSerial(Year(DateT) - 1, 1, 4)
Indice4Janv = WeekDay(Date_4Janv, vbMonday) - 1 'Ca tombe un quel jour le 4 janv
Date_1lundi = DateAdd("d", -Indice4Janv, Date_4Janv) 'Où se trouve le jeudi de la semaine trouvée
Delta_Jour = DateDiff("d", Date_1lundi, Date_Jeudi)
Semaine = Delta_Jour \ 7 + 1

Conclusion :


Ce code marche bien (enfin pour moi)...

Bien sur il est perfectible...

A voir également

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.