OVH Cloud OVH Cloud

Trouver le N° de semaine d'une date.

9 réponses
Avatar
Jipé
Re-Bonjour le Forum,

En A1 j'ai une date. Format: "03-DÉC-04"

En A2 j'extrais le jour avec cette formule "=TEXTE(A1;"jjjj")"

En A3, je souhaiterai avoir le N° de la semaine correspondant à la date en
A1.

Merci Jipé

9 réponses

Avatar
Jacky
Bonsoir Jipé

Si quelques erreurs (1900 ou dans quelque centaines d'année ne te dérange
pas) prend ceci:
=NO.SEMAINE(A1;2)
le 2 si lundi est le 1er jour de semaine sinon remplace par 2

Salutations
JJ

"Jipé" a écrit dans le message de
news:
Re-Bonjour le Forum,

En A1 j'ai une date. Format: "03-DÉC-04"

En A2 j'extrais le jour avec cette formule "=TEXTE(A1;"jjjj")"

En A3, je souhaiterai avoir le N° de la semaine correspondant à la date en
A1.

Merci Jipé




Avatar
Jacky
Il faut lire:
le 2 si lundi est le 1er jour de semaine sinon remplace par le 2 par 1
JJ

"Jipé" a écrit dans le message de
news:
Re-Bonjour le Forum,

En A1 j'ai une date. Format: "03-DÉC-04"

En A2 j'extrais le jour avec cette formule "=TEXTE(A1;"jjjj")"

En A3, je souhaiterai avoir le N° de la semaine correspondant à la date en
A1.

Merci Jipé




Avatar
AV
Si quelques erreurs (1900 ou dans quelque centaines d'année ne te dérange pas)


Et..... si tu t'assoies sur la norme ISO européenne, ce qui est tout à fait
acceptable !
AV

Avatar
Jipé
Re à tous,

Merci, c'est parfait.
J'aurais appris que pour utiliser cette fonction, il faut la macro
complémentaire Utilitaires d'analyses.

Merci Jipé
Avatar
Jacky
Bonsoir Alain
Et..... si tu t'assoies sur la norme ISO européenne, ce qui est tout à
fait

acceptable !


Bon Bon
Alors celle-ci de dj.joss

=SI(ANNEE(A1)<>1900;ENT((A1-SOMME(MOD(DATE(ANNEE(A1-MOD(A1-2;7)+3);1;2);{1E+
99;7})*{1;-1})+5)/7);" ")
Exclue l'année 1900

D'accord Alain ??
Salutations
JJ

"AV" a écrit dans le message de
news:
Si quelques erreurs (1900 ou dans quelque centaines d'année ne te
dérange pas)



Et..... si tu t'assoies sur la norme ISO européenne, ce qui est tout à
fait

acceptable !
AV





Avatar
AV
Bon Bon
Alors celle-ci de dj.joss
=SI(ANNEE(A1)<>1900;ENT((A1-SOMME(MOD(DATE(ANNEE(A1-MOD(A1-2;7)+3);1;2);{1E+
99;7})*{1;-1})+5)/7);" ")
Exclue l'année 1900


Cette formule n'est pas de dj.joss mais de LL !

D'accord Alain ??


Boff..... c'est pas celle que je préfère car non compatible calendrier 1900/1904
;-)
AV

Avatar
Jacky
Re..
Tu finiras bien par la donner, la bonne...........formule
OUI NON ??
.o))
JJ

"AV" a écrit dans le message de
news:OHxE$
Bon Bon
Alors celle-ci de dj.joss

=SI(ANNEE(A1)<>1900;ENT((A1-SOMME(MOD(DATE(ANNEE(A1-MOD(A1-2;7)+3);1;2);{1E+


99;7})*{1;-1})+5)/7);" ")
Exclue l'année 1900


Cette formule n'est pas de dj.joss mais de LL !

D'accord Alain ??


Boff..... c'est pas celle que je préfère car non compatible calendrier
1900/1904

;-)
AV





Avatar
AV
Tu finiras bien par la donner, la bonne...........formule


Ben y en a des kilos ...et même en cherchant dans le forum ;-) !
Pour se limiter (non exhaustif) à celles compatibles norme ISO européenne ET
calendriers 1900/1904 :

Daniel MAHER
=1+ENT(MIN(MOD(A1-DATE(ANNEE(A1)+{-1;0;1};1;5)+JOURSEM(DATE(ANNEE(A1)+{-1;0;1};1
;3));734))/7)

Laurent LONGRE
=ENT((A1-(DATE(ANNEE(A1-JOURSEM(A1-1)+4);1;3)-JOURSEM(DATE(ANNEE(A1-JOURSEM(A1-1
)+4);1;3)))+5)/7)

Function NUMSEM_ISO_europ(cel As Range) 'AV
'bug des dimanches 2 janvier pour les années 2101, 2501 (etc...intervalle 400
ans)
If Day(cel) = 2 And Month(cel) = 1 And Year(cel) Mod 400 = 101 Then
NUMSEM_ISO_europ = 52
Exit Function
End If
If Weekday(cel) = 2 And Month(cel) = 12 And Day(cel) > 28 Then
NUMSEM_ISO_europ = 1
Else: NUMSEM_ISO_europ = DatePart("ww", cel, 2, 2)
End If
End Function

AV

Avatar
Jacky
Maintenant, je me souviens, même que je me sers de ta fonction dans un de
mes fichiers au boulot.

Merci de m'avoir rafraîchi la mémoire
JPS dirait <Alzheimer précoce>

JJ

"AV" a écrit dans le message de
news:%
Tu finiras bien par la donner, la bonne...........formule


Ben y en a des kilos ...et même en cherchant dans le forum ;-) !
Pour se limiter (non exhaustif) à celles compatibles norme ISO européenne
ET

calendriers 1900/1904 :

Daniel MAHER

=1+ENT(MIN(MOD(A1-DATE(ANNEE(A1)+{-1;0;1};1;5)+JOURSEM(DATE(ANNEE(A1)+{-1;0;

1};1
;3));734))/7)

Laurent LONGRE

=ENT((A1-(DATE(ANNEE(A1-JOURSEM(A1-1)+4);1;3)-JOURSEM(DATE(ANNEE(A1-JOURSEM(

A1-1
)+4);1;3)))+5)/7)

Function NUMSEM_ISO_europ(cel As Range) 'AV
'bug des dimanches 2 janvier pour les années 2101, 2501 (etc...intervalle
400

ans)
If Day(cel) = 2 And Month(cel) = 1 And Year(cel) Mod 400 = 101 Then
NUMSEM_ISO_europ = 52
Exit Function
End If
If Weekday(cel) = 2 And Month(cel) = 12 And Day(cel) > 28 Then
NUMSEM_ISO_europ = 1
Else: NUMSEM_ISO_europ = DatePart("ww", cel, 2, 2)
End If
End Function

AV