OVH Cloud OVH Cloud

Problème numéro de semaine

3 réponses
Avatar
Thierry Euzenot
Tout d'abord, bonne année à toutes et à tous :o)

Je viens de remarquer quelque chose... Excel semble se tromper d'une semaine
lorsqu'il indique le numéro de semaine d'une date...
(Excel 2002 - SP3, à jour)

Cellule 1 :
=AUJOURDHUI()
Résultat : 05/01/2005

Cellule 2 :
=NO.SEMAINE(B25;2)
Résultat : 2
(Même chose si on met le début de la semaine un dimanche...)

Or, nous sommes d'après tous les calendriers édités en semaine 01 puisque le
samedi 01/01/2005 et le dimanche 02 ont été considérés comme faisant partie
de la semaine 53 de 2004 :o/

Si ça dure toute l'année ça va être la galère à gérer :o((((((
Il va falloir modifier tous les classeurs utilisant cette fonction et faire
gaffe à chaque fois que l'on va l'utiliser...

Snirf et moi qui éditait mes calendriers à l'excelent classeur de JMS, ai
plus qu'à le modifier...

3 réponses

Avatar
Corona
Bonjour Thierry,
Voir plus bas l'article de Laurent Longre qui traite de ce sujet
Voir son site http://longre.free.fr et tout particulièrement
http://longre.free.fr/pages/form/dateheure.htm#Numsemaine
Philippe
B. Nombre et numéro de semaine
- Numéro de semaine ISO
La formule suivante renvoie le numéro de semaine conforme à la norme ISO,
utilisée dans les pays européens (la première semaine d'un mois étant
définie comme la première semaine comportant au moins quatre jours dans le
mois).

ATTENTION, si l'on veut calculer des numéros de semaines ISO, ceux en
particulier du calendrier français, il ne faut pas utiliser la fonction
NO.SEMAINE proposée par l'Utilitaire d'analyse. Celle-ci renvoie un numéro
de semaine calculé d'après la méthode utilisée aux Etats-Unis, qui n'est pas
conforme à la définition ISO utilisée en France. Pour obtenir un numéro
conforme à cette norme, on peut utiliser la formule suivante :

=ENT((D-SOMME(MOD(DATE(ANNEE(D-MOD(D-2;7)+3);1;2);{1E+99;7})*{1;-1})+5)/7)

Fonction VBA équivalente

Function NOSEM(D As Date) As Long
D = Int(D)
NOSEM = DateSerial(Year(D + (8 - WeekDay(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOSEM - 3 + (WeekDay(NOSEM) + 1) Mod 7)) 7 + 1
End Function"Thierry Euzenot" a écrit dans le message de
news:
Tout d'abord, bonne année à toutes et à tous :o)

Je viens de remarquer quelque chose... Excel semble se tromper d'une
semaine

lorsqu'il indique le numéro de semaine d'une date...
(Excel 2002 - SP3, à jour)

Cellule 1 :
=AUJOURDHUI()
Résultat : 05/01/2005

Cellule 2 :
=NO.SEMAINE(B25;2)
Résultat : 2
(Même chose si on met le début de la semaine un dimanche...)

Or, nous sommes d'après tous les calendriers édités en semaine 01 puisque
le

samedi 01/01/2005 et le dimanche 02 ont été considérés comme faisant
partie

de la semaine 53 de 2004 :o/

Si ça dure toute l'année ça va être la galère à gérer :o((((((
Il va falloir modifier tous les classeurs utilisant cette fonction et
faire

gaffe à chaque fois que l'on va l'utiliser...

Snirf et moi qui éditait mes calendriers à l'excelent classeur de JMS, ai
plus qu'à le modifier...




Avatar
-=lolol=-
Bonjour Thierry

Tout d'abord, bonne année à toutes et à tous :o)


bonne année à toi aussi :-)

Je viens de remarquer quelque chose... Excel semble se tromper d'une
semaine lorsqu'il indique le numéro de semaine d'une date...


pour commencer, notons qu'excel se trompe très très rarement ... et dans ce
cas, c'est toi qui te trompe :-)
évidement la soluce sur excelabo
http://www.excelabo.net/xl/calendriers.php#numerosemaine

cordialement
@+lolo

Avatar
Thierry Euzenot
Merci pour vos réponses claires et rapides :o)

Comme quoi on en apprend tous les jours ^_^