OVH Cloud OVH Cloud

Numéro de semaine

3 réponses
Avatar
Michel
Bonjour à tous,

Je dois savoir le numéro de semaine d'une date. ( date comprise entre
01/01/2000 et maintenant ).

Je ne connais pas VBA.

Merci de vos explications précises.

3 réponses

Avatar
Jean-Claude
Bonjour,
Avec Format(expression[, format[, firstdayofweek[, firstweekofyear]]]), tu
devrait trouver ton bonheur.
Une fois saisi ton code, selectionne Format et tape la touche F1 du clavier
pour ouvrir l'aide
Exemple
NoSemaine=format(date,"ww",vbMonday,vbFirstFourDays)

A+
Jc

"Michel" a écrit dans le message de
news:ci2eae$1jj$
Bonjour à tous,

Je dois savoir le numéro de semaine d'une date. ( date comprise entre
01/01/2000 et maintenant ).

Je ne connais pas VBA.

Merci de vos explications précises.





Avatar
Philippe.R
Bonjour Michel,
La date supposée en C8 :
=NO.SEMAINE(C8;2)
devrait faire l'affaire
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"Michel" a écrit dans le message de
news:ci2eae$1jj$
Bonjour à tous,

Je dois savoir le numéro de semaine d'une date. ( date comprise entre
01/01/2000 et maintenant ).

Je ne connais pas VBA.

Merci de vos explications précises.





Avatar
Modeste
Bonsour ®,
cette formulation est connue pour etre bugée concernant
la semaine à cheval sur deux années !!!!
de même que la fonction NO.SEMAINE qui ne respecte pas la
norme ISO utilisée en Europe.

Lors de la détermination du numéro de semaine d'une date,
conformément à la norme ISO 8601, l'appel de fonction
sous-jacente sur le fichier Oleaut32.dll renvoie par
erreur la semaine 53 à la place de la semaine 1 pour le
dernier lundi de certaines années.

ci-dessous une solution de contournement fourni pas MS :
(WOY = Week Of Year Semaine de l'année

http://support.microsoft.com/default.aspx?
scid=kb;fr;200299

Function WOY (MyDate As Date) As Integer
WOY = Format(MyDate, "ww", vbMonday, vbFirstFourDays)
If WOY > 52 Then
If Format(MyDate + 7, "ww", vbMonday,
vbFirstFourDays) = 2 Then WOY = 1
End If
End Function

une autre fonction de feuille de calcul plusieurs fois
déja fournie ici et due à Ch.Pejout
=ENT(MOD(ENT((Ladate-2)/7)+0,6;52+5/28))+1

@+



-----Message d'origine-----
Bonjour,
Avec Format(expression[, format[, firstdayofweek[,
firstweekofyear]]]), tu

devrait trouver ton bonheur.
Une fois saisi ton code, selectionne Format et tape la
touche F1 du clavier

pour ouvrir l'aide
Exemple
NoSemaine=format(date,"ww",vbMonday,vbFirstFourDays)

A+
Jc

"Michel" a écrit dans le
message de

news:ci2eae$1jj$
Bonjour à tous,

Je dois savoir le numéro de semaine d'une date. ( date
comprise entre


01/01/2000 et maintenant ).

Je ne connais pas VBA.

Merci de vos explications précises.






.