Theze a écrit :
Bonjour,
Avec cette fonction (qui, si je me souviens bien est de Laurent Longre) :
=ENT((I19+5-SOMME(MOD(DATE(ANNEE(I19-MOD(I19-2;7)+3);1;2);{1E+99;7})*{1;-1}))/7)
où I19 est ta première date bien sûr !
Bonjour Theze, tout le monde,
Résurgence de vieux débats... ! C'est en effet, à ma connaissance sa première formule sur ce calcul, accompagnée d'un long texte d'explications, que je crois bien n'avoir pas pu avaler en une seule fois à l'époque où je l'ai lu !
Il en a depuis fait d'autres, plus simples, et d'autres ont aussi fournis pas mal de variantes puisque le mode de calcul tourne toujours autour des mêmes critères...
La fonction que j'ai donnée est d'ailleurs à 50% de Laurent Longre. La ligne qui définit la date du 3 janvier doit déterminer l'année de référence : la façon de la déterminer provient de Laurent Longre (j'ai eu passé pas mal de temps à l'étudier en détail et n'ai jamais trouvé de façon plus simple...) Pour le reste du calcul (les deux lignes suivantes qui pourraient être compactées en une), j'étais revenu à mes préférences d'opérer sur la date du 3 janvier (le décalage du 4 au 3 régule la série renvoyée par JOURSEM (ou Weekday) [si le 4 est un lundi, le 3 est un dimanche...] du dimanche au samedi) qui rend le calcul plus facile à expliquer.
J'ajoute la formule que j'utilise en classeur sans macro (préférence, toujours, liée à la facilité avec laquelle on peut l'expliquer...) :
=ENT((A1-RECHERCHE(A1;DATE(ANNEE(A1)+{-1;0;1};1;3)-JOURSEM(DATE(ANNEE(A1)+{-1;0;1};1;3))+2))/7)+1
Pour boucler l'historique de la question, les dernières versions d'Excel disposent d'une fonction dédiée au calcul de la semaine ISO (ce qui éteindra la discussion à terme !), on avait cru pouvoir formuler en VBA en utilisant DatePart... Mais curieusement, cette fonction fournit un résultat erroné tous les 28 ans. Par contre sur 2010, la fonction NO.SEMAINE assortie du paramètre 21 (2e argument), dont la définition est "semaine débutant le lundi et qui contient le premier mardi de l'année", inexacte au regard de la norme ISO semble, elle, faire un calcul exact (elle fournit le bon résultat là où DatePart est en erreur...)
Bonne journée à tous.