OVH Cloud OVH Cloud

N° de la Sem. en cours

13 réponses
Avatar
Christian N
Bonjour,

Comment récupérer le n° de la semaine en cours ?

Christian

10 réponses

1 2
Avatar
Philippe.R
Bonjour Christian,

Pour une date en B3 :

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

devrait convenir
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Christian N" a écrit dans le message de
news:
Bonjour,

Comment récupérer le n° de la semaine en cours ?

Christian




Avatar
AV
Si tu n'es pas regardant sur les normes ISO et si tu as installé la macro
complémentaire "Utilitaire d'Analyse" :
=NO.SEMAINE(AUJOURDHUI();2)

Si tu veux du "précis"
=1+ENT(MIN(MOD(AUJOURDHUI()-DATE(ANNEE(AUJOURDHUI())+{-1;0;1};1;5)+JOURSEM(DATE(
ANNEE(AUJOURDHUI())+{-1;0;1};1;3));734))/7)

AV
Avatar
Christian N
j'ai oublié de préciser que c'est en VBA qu'il faut que je récupère le n° de
la semaine !
"AV" a écrit dans le message de
news:
Si tu n'es pas regardant sur les normes ISO et si tu as installé la macro
complémentaire "Utilitaire d'Analyse" :
=NO.SEMAINE(AUJOURDHUI();2)

Si tu veux du "précis"

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

ATE(
ANNEE(AUJOURDHUI())+{-1;0;1};1;3));734))/7)

AV





Avatar
AV
j'ai oublié de préciser que c'est en VBA qu'il faut que je récupère le n° de
la semaine !


Ben ...alors :

Sub zzzNumSem()
'une
MsgBox [weeknum(today(),2)]
'une autre
MsgBox
[1+int(min(mod(today()-date(year(today())+{-1;0;1},1,5)+weekday(date(year(today(
))+{-1;0;1},1,3)),734))/7)]
'encore une autre
If Day(Date) = 2 And Month(Date) = 1 And Year(Date) Mod 400 = 101 Then
MsgBox 52
Exit Sub
End If
If Weekday(Date) = 2 And Month(Date) = 12 And Day(Date) > 28 Then
MsgBox 1
Else: MsgBox DatePart("ww", Date, 2, 2)
End If
End Sub

AV

Avatar
Christian N
Merçi bcp Alain. On sent qu'il y a de la maîtrise...ça fait plaisir.
Le code le plus court " MsgBox [weeknum(today(),2)] " me donne un message
d'erreure : incompatibilité de type. Y aurait t-il moyen d'arranger ça ?


"AV" a écrit dans le message de
news:
j'ai oublié de préciser que c'est en VBA qu'il faut que je récupère le
n° de


la semaine !


Ben ...alors :

Sub zzzNumSem()
'une
MsgBox [weeknum(today(),2)]
'une autre
MsgBox

[1+int(min(mod(today()-date(year(today())+{-1;0;1},1,5)+weekday(date(year(to

day(
))+{-1;0;1},1,3)),734))/7)]
'encore une autre
If Day(Date) = 2 And Month(Date) = 1 And Year(Date) Mod 400 = 101 Then
MsgBox 52
Exit Sub
End If
If Weekday(Date) = 2 And Month(Date) = 12 And Day(Date) > 28 Then
MsgBox 1
Else: MsgBox DatePart("ww", Date, 2, 2)
End If
End Sub

AV





Avatar
GD
Bonsour ®,
Il faut cocher dans Outils > macro complementaires
Utilitaires d'analyse
et
Utilitaires d'analyse - VBA

au passage
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

Oui je sais AV.... ,
mais en 2104 je serai plus là
;o)))
@+


dans news:,
Christian N typed:
Merçi bcp Alain. On sent qu'il y a de la maîtrise...ça fait plaisir.
Le code le plus court " MsgBox [weeknum(today(),2)] " me donne un
message d'erreure : incompatibilité de type. Y aurait t-il moyen
d'arranger ça ?


"AV" a écrit dans le message de
news:
j'ai oublié de préciser que c'est en VBA qu'il faut que je récupère
le n° de la semaine !


Ben ...alors :

Sub zzzNumSem()
'une
MsgBox [weeknum(today(),2)]
'une autre
MsgBox



[1+int(min(mod(today()-date(year(today())+{-1;0;1},1,5)+weekday(date(year(to

day(
))+{-1;0;1},1,3)),734))/7)]
'encore une autre
If Day(Date) = 2 And Month(Date) = 1 And Year(Date) Mod 400 = 101
Then MsgBox 52
Exit Sub
End If
If Weekday(Date) = 2 And Month(Date) = 12 And Day(Date) > 28 Then
MsgBox 1
Else: MsgBox DatePart("ww", Date, 2, 2)
End If
End Sub

AV





Avatar
le noble, mon bel, l'immense, le prodigieux, le superbe AmphigouriX
4 vendémiaire an CCXIII (le 25 septembre 2004 d. c.-d. c. g.), 23h57.

« Philippe.R » a écrit (¤) :

"Christian N" a écrit dans le message de
news:
Bonjour,

Comment récupérer le n° de la semaine en cours ?

Christian


Bonjour Christian,

Pour une date en B3 :

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

devrait convenir


Essaie avec « B3 = 31/12/2001 ».

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)




¤
From: Philippe.R
Newsgroups: microsoft.public.fr.excel
Subject: Re: N° de la Sem. en cours
Date: Sat, 25 Sep 2004 17:33:35 +0200
Message-ID:
References:
Xref: uni-berlin.de microsoft.public.fr.excel:352922
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Avatar
le noble, mon bel, l'immense, le prodigieux, le superbe AmphigouriX
4 vendémiaire an CCXIII (le 25 septembre 2004 d. c.-d. c. g.), 23h59.

« AV » a écrit (¤) :

Si tu n'es pas regardant sur les normes ISO et si tu as installé la macro
complémentaire "Utilitaire d'Analyse" :
=NO.SEMAINE(AUJOURDHUI();2)


Mince ! et avec « Excel 97 », il y a pas, évidemment ?!.

Si tu veux du "précis"
=1+ENT(MIN(MOD(AUJOURDHUI()-DATE(ANNEE(AUJOURDHUI())+{-1;0;1};1;5)+JOURSEM(DATE(
ANNEE(AUJOURDHUI())+{-1;0;1};1;3));734))/7)


Règle ta bécane sur le 31/12/2001...

AV




¤
From: AV
Newsgroups: microsoft.public.fr.excel
Subject: Re: N° de la Sem. en cours
Date: Sat, 25 Sep 2004 17:39:36 +0200
Message-ID:
References:
Xref: uni-berlin.de microsoft.public.fr.excel:352923
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Avatar
AV
Oui je sais AV.... ,
mais en 2104 je serai plus là


Ben et avec le calendrier 1904 ?
Tu seras bien là encore en début d'année prochaine ?

;-)
AV

Avatar
JièL Goubert
Bonjoir(c) le noble, mon bel, l'immense, le prodigieux, le superbe AmphigouriX

Le 25/09/2004 23:59 vous avez écrit ceci :
=ENT((B3-(DATE(ANNEE(B3-JOURSEM(B3-1)+4);1;3)-JOURSEM(DATE(ANNEE(B3-JOURSEM(B3-1)+4);1;3)))+5)/7)

devrait convenir



Essaie avec « B3 = 31/12/2001 ».


Ce qui donne la semaine 1 et qui est parfaitement vrai en france avec la
norme ISO, car la première semaine est celle qui contient 4 jours. Donc si
le 1/1/?? est un jeudi, vendredi, samedi ou dimanche, les 3 jours précédent,
bien que faisant partie de l'année précédente, sont considéré comme faisant
partie de la première semaine de l'année suivante.

tu auras le même résultat avec les années 2002,2003,2007,2008,2012,2013 etc etc

--
La FAQ Outlook est la : http://faq.outlook.free.fr
JièL / Jean-Louis GOUBERT
Co-auteur de "Internet + de 1 000 trucs de pros" chez Micro Application
http://faq.outlook.free.fr/livreMA/internet_plus_de_1000_trucs_de_pros.htm


1 2