Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme ave NO.semaine

8 réponses
Avatar
Gerard
Bonjour

j'ai la case
B5 = lundi 05/12/2005
A2= ="Semaine "& NO.SEMAINE(DROITE(A5;10);2)

le probleme est que je trouve Semaine 50 alors que la realité est Semaine 49

merci pour votre aide

8 réponses

Avatar
AV
="Semaine
"&1+ENT(MIN(MOD(A5-DATE(ANNEE(A5)+{-1;0;1};1;5)+JOURSEM(DATE(ANNEE(A5)+{-1;0;1};1;3));734))/7)

AV
Avatar
JLuc
*Bonjour AV*,
J'ai rien compris a cette formule, j'ai essayer de la decomposee avec
DATE(ANNEE(A5)+{-1;0;1};1;5) j'obtiens le 5 janvier 2004, c'est normal
?
Pour voir, j'ai lancer outlook 2000 et dans le calendrier, le 5/12/2005
est bien en semaine 50 :-?
Tu pourrai expliquer ta formule stp ?

="Semaine
"&1+ENT(MIN(MOD(A5-DATE(ANNEE(A5)+{-1;0;1};1;5)+JOURSEM(DATE(ANNEE(A5)+{-1;0;1};1;3));734))/7)

AV



--
JLuc

Pensez a regarder ces sites très bien fait, ce sont des mines de trucs
et astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS

Avatar
Gerard
salut Jluc
j'ai le meme probleme, j'ai bien la semaine 50 alors que sur les calendrier
c'est la 49
peut on m'eclaicir.....
je vais essayer de decortiquer en attendat la formule qu'on ma proposée,
mais alors a quopi sert la fonction NO.SEMAINE d'Excel

merci a tous

"JLuc" a écrit dans le message de news:

*Bonjour AV*,
J'ai rien compris a cette formule, j'ai essayer de la decomposee avec
DATE(ANNEE(A5)+{-1;0;1};1;5) j'obtiens le 5 janvier 2004, c'est normal ?
Pour voir, j'ai lancer outlook 2000 et dans le calendrier, le 5/12/2005
est bien en semaine 50 :-?
Tu pourrai expliquer ta formule stp ?

="Semaine
"&1+ENT(MIN(MOD(A5-DATE(ANNEE(A5)+{-1;0;1};1;5)+JOURSEM(DATE(ANNEE(A5)+{-1;0;1};1;3));734))/7)

AV



--
JLuc

Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et
astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS





Avatar
Gerard
bonjour

j'ai adapté mais sans comprendre pourquoi, ENT, MIN, MOD
voila ce que cela donne,
si tu peux me commenter un peu ta formule
="Semaine " &1+
ENT(MIN(MOD(DROITE(A5;10)-DATE(ANNEE(DROITE(A5;10))+{-1;0;1};1;5)+JOURSEM(DATE(ANNEE(DROITE(A5;10))+{-1;0;1};1;3));734))/7)

merci d'avance



"AV" a écrit dans le message de news:
uiDkNLX$
="Semaine
"&1+ENT(MIN(MOD(A5-DATE(ANNEE(A5)+{-1;0;1};1;5)+JOURSEM(DATE(ANNEE(A5)+{-1;0;1};1;3));734))/7)

AV




Avatar
Gerard
salut a tous
je viens enfin de trouver le pourquoi Norme americaine, Norme europeenne
http://www.excelabo.net/xl/calendriers.php#numerosemaine
je l'etudie donc
merci encore
"Gerard" a écrit dans le message de news:
439aa6d2$0$18307$
Bonjour

j'ai la case
B5 = lundi 05/12/2005
A2= ="Semaine "& NO.SEMAINE(DROITE(A5;10);2)

le probleme est que je trouve Semaine 50 alors que la realité est Semaine
49

merci pour votre aide



Avatar
Modeste
Bonsour® Gerard avec ferveur ;o))) vous nous disiez :
mais alors a quopi sert la fonction NO.SEMAINE d'Excel


EXCEL est un produit développé par des "Yankees", d'abord à l'usage
privilegié des "Yankees"
;o)))
La fonction NO.SEM correspond à la numérotation US des semaines...
des explications là :
http://support.microsoft.com/default.aspx?scid=kb;fr;200299

en Europe nous utilisons la norme ISO 8601
ISO 8601 Éléments de données et formats d'échange - Échange
information - Représentation de la date et de l'heure
ISO 8601 : 1988 (E) paragraphe 3.17 :
« semaine, calendrier : période de sept jours d'une année de calendrier,
commençant un lundi et identifiée par son numéro ordinal dans l'année ;
la première semaine de l'année est celle qui inclut le premier jeudi de
cette année.
Dans le calendrier grégorien, ceci équivaut à la semaine qui inclut le 4
janvier. »

Une fonction Personalisée adaptée de l'article cité ci-dessus :

Function SEM_ISO (MyDate As Date) As Integer ' Week Of Year
SEM_ISO = Format(MyDate, "ww", vbMonday, vbFirstFourDays)
If SEM_ISO > 52 Then
If Format(MyDate + 7, "ww", vbMonday, vbFirstFourDays) = 2 Then SEM_ISO
= 1
End If
End Function

Pour information :
les mêmes jours reviennent aux mêmes dates tout les 28 ans :
ci-dessous une formule sans macro utilisant ce precept :
Mais AV ne l'aime pas ;-p
parce que ne fonctionne pas avec le calendrier 1904 et donne un résultat
faux ""APRES l'année 2104""
;o)))

=INT(MOD(INT((A1-2)/7)+0,6;52+5/28))

@+

--
;o)))
@+

Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI

n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr

Avatar
FxM
Gerard wrote:
Bonjour

j'ai la case
B5 = lundi 05/12/2005
A2= ="Semaine "& NO.SEMAINE(DROITE(A5;10);2)

le probleme est que je trouve Semaine 50 alors que la realité est Semaine 49

merci pour votre aide



Bonjour Gerard,

Le calcul du numéro de semaine est défini dans l'ISO 8601 (ISO =
International Standard Organisation) mais tu devrais savoir que M$ est
américaine et ignore les us et coutumes du reste du monde en plus de
quelques normes internationales basiques.
La fonction NO.SEMAINE n'est malheureusement qu'un exemple parmi tant
d'autres. Il existe même des erreurs de calculs par "souci de
compatibilité" avec des logiciels existants à une certaine époque ...
Mouarf !

Beaucoup ne pourront que te recommander de jeter un oeil sur les sites
de Laurent Longre http://xcell05.free.fr où une macro complémentaire
(morefunc) fait ce calcul (et plus d'une 40aine d'autre) pour la modique
somme de zéro euros :o)

@+
FxM

Avatar
Daniel.M
Bonsoir,

j'ai le meme probleme, j'ai bien la semaine 50 alors que sur les calendrier
c'est la 49
peut on m'eclaicir.....


Le 5 décembre 2005 est bien dans la 49e semaine (selon les normes
ISO-européennes).
J'ai fait un mini-calendrier qui indique la bonne semaine pour toutes les dates
d'une année et qui est disponible sur www.excelabo.net (ça commence par
mini-calendrier).


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


je vais essayer de decortiquer en attendat la formule qu'on ma proposée,
mais alors a quopi sert la fonction NO.SEMAINE d'Excel



Pour comprendre une formule, on peut sélectionner une partie de celle-ci et
appuyer sur F9 pour connaître un résultat intermédiaire : c'est bien pratique
pour la compréhension.


Primo, la formule génère une matrice de 3 dates qui correspondent respectivement
aux premiers Lundi de l'an précédent, de l'an courant et de l'an suivant
(l'année de référence étant celle de la date en A5).
+DATE(ANNEE(A5)+{-1;0;1};1;5)-JOURSEM(DATE(ANNEE(A5)+{-1;0;1};1;3))

Ensuite, on prend la date en A5 et on lui soustrait ces trois dates.
¥-()
¥-DATE()+JOURSEM(DATE())

Parmi les trois résultats de soustraction, le résultat le plus petit MAIS
NON-NÉGATIF* sera sélectionné et il s'agira de la différence de jours entre le
premier lundi de la bonne année et la date en A5. Pour convertir en semaine, on
garde la partie entière d'une division par 7, puis on ajoute 1.

* : L'utilisation de MOD(Y;734) transforme les Y négatifs en des résultats
positifs suffisant grands pour assurément ne pas être sélectionnés par le MIN().

Salutations,

Daniel M.