Posez votre question Signaler

Insérer le numéro de la semaine sous excel [Résolu]

claire35760 - Dernière réponse le 28 août 2013 à 12:17
Bonjour,

J'ai créer un fichier sous Excel et je dois afficher dans ce fichier le numéro de la semaine en cours.
J'avais réussi avec la fonction NO.SEMAINE mais quand j'ai changé le fichier de PC la formule n'a plus fonctionné.
Est ce que quelqu'un aurait une solution pour que cette fonction remarche (en sachant qu'elle n'est plus dans les fonctions crées d'avances) ou une autre solution.
Merci d'avance
claire35760
Lire la suite 
Réponse
+136
moins plus
Bonjour à tous,

une solution un peu tardive, j'en conviens, mais je l'utilise et cela fonctionne à merveille; et peu importe l'année.

Utiliser la formule : date recherchée en B4

=ENT(MOD(ENT((B4-2)/7)+0,6;52+5/28))+1

bonne semaine
Jabou- 3 oct. 2012 à 09:51
Bonjour,

Il existe maintenant une fonction Excel WeekNum(LaDate) qui retourne la semaine correspondante.

Ciao
Répondre
six divisé par dix- 3 oct. 2012 à 19:29
elle existait déjà avant,
mais est-ce que maintenant, elle est moins américaine que avant ?
:D
Répondre
eriiic 18294Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 27 juillet 2015 Dernière intervention - 3 oct. 2012 à 20:04
Bonjour,

elle existait déjà avant,
mais est-ce que maintenant, elle est moins américaine que avant ?

Oui, avec 2010 tu peux ajouter le paramètre 21 et avoir le n° de semaine ISO (européen) :
=NO.SEMAINE(A1;21)
(mais plantera si ouvert sur 2003...)

eric
Répondre
Flash(info)- 9 févr. 2013 à 04:25
http://www.excelabo.net/excel/numero_semaine_norme_europeenne
Répondre
Ajouter un commentaire
Réponse
+18
moins plus
pour répondre à ceux qui disent que la semaine 53 n'existe pas,
si elle existe en Europe.

Parce qu'en Europe, contrairement aux étazuniens créateurs d'Office,
on considère qu'une 2CV garée dans un parking
sur la ligne entre la place 134 et la place 135 occupe 2 places.

Même si la voiture continue de ne faire qu'une seule place de large.

De même,
une année de 52 semaines de long
qui se gare mal va empiéter sur 53 semaines.

c'est le cas de 2010...
2CV encore- 7 janv. 2011 à 20:51
@joelar :
le problème, c'est qu'il n'y a pas dans chaque année
4 mois où il y a exactement 5 semaines.
Sinon, ça ferait 8 mois de 28 jours et 4 mois de 35 jours...
Par contre, ce qui est sur, c'est qu'une année fait forcément 365 ou 366 jours...
hors 52x7=364, donc, ça ne tombe jamais juste.

Et même si ça tombait juste,
ce qui est sur, c'est que si tu veux garer 52 voitures côte à côte
et que la première est garée à cheval sur 2 places,
tu occuperas 53 places de parking avec tes 52 voitures...
Répondre
eddy- 1 juin 2012 à 15:34
1 semaine c'est 7 j donc pour toi 1 mois c'est 28j ,calcul sur 12mois on a 28 j en trop donc 4 semaines 4*12 48 +4 52 sauf lors des années bisextile ou justement tu as 1 seul jour de 53eme semaines
Répondre
2CV repasse...- 2 juin 2012 à 23:03
ça n'est pas tant le fait que l'année fasse 52 semaines ou bien 52 semaines+1/7° de semaine.
C'est surtout que les Années ne commencent pas par le premier jour de la semaine...

et donc, le calcul n'est pas (7x4)x12+(7x4); mais selon les années :
3+(7x4)x12+(7*3)+4
le bout de semaine + 48 semaines + 3 semaines + l'autre bout de semaine
1 numéro + 48 numéros + 3 numéros + 1 numéros = 53 numéros, même s'il n'y a que 52*7 jours..
Répondre
eddy51- 4 juin 2012 à 11:24
peut importe les années finissent pas un dimanche non plus , donc 7 j = 1 semaines peut importe que sa commence le lundi ou le vendredi
Répondre
2CV en vcances- 4 juin 2012 à 19:16
tout à fait...
et si tu pars en congé demain matin pendant un semaine, 7 jours exactement,
tu auras été en congés de mardi à mardi,
cette semaine et la suivante...
Tu poses une semaine de congés,
et auras 2 semaines de location : la semaine 23 et la semaine 24...

7 jours= une semaine, peu importe qd tu commences tes vacances,
mais si tu mets ça dans les cases "Semaine n°XX", il t'en faut 2...

Pareil si tu prends 52 semaines de congés,
suivant comment tu commences, il te faudra soit 52 semaines de location, soit 53...
Répondre
Ajouter un commentaire
Réponse
+12
moins plus
Bonjour,
Pour moi, la formule "=ENT(MOD(ENT((B4-2)/7)+0,6;52+5/28))+1" foire pour B4 allant du 29/12/2008 au 04/01/2010 inclus avec un décalage de -1 par rapport aux calendriers carton.

Je ne comprends pas pourquoi, et ça m'embête bien, je trouvais cette formule sympa...
Arthemus- 5 sept. 2010 à 15:39
Rebonjour,

Après test minutieux, je confirme que pour moi, la formule de jlppap et la fonction NUM.SEMAINE() de MoreFunc ne fonctionnent pas pour un fichier Excel configuré avec un calendrier débutant le 01/01/1904 (pour l'utilisation de temps négatifs).

Pour la semaine du 29/12/2008 au 04/01/2009, le numéro de semaine calculé par ces fonctions est : 53 au lieu de 01 sur un calendrier carton ISO.

Pour la période du 05/01/2009 au 03/01/2010, il y a un décalage de -1 du résultat de ces fonctions par rapport au numéro de semaine d'un calendrier ISO.

Je confirme aussi qu'en intercalant "+1462" dans la formule de jlppap, ça marche (pour un calendrier débutant au 01/01/1904). Ce qui donne :

"=ENT(MOD(ENT((B4+1462-2)/7)+0,6;52+5/28))+1"

Pensez-vous que cette formule soit légitime ?

Cordialement,
Arthemus.
Répondre
Gordon- 6 sept. 2010 à 13:42
oui, cette formule me semble cohérente
puisque qd on coche l'option "Options/Calcul/Calendrier depuis 1904",
cela décale toutes les dates de 1462 jours
(1er janvier 2010=40179 en "normal", =38717 en "1904")
on a donc un décalage de 365+365+365+366+1 jours = 1462.

en utilisant la fonction de jlpap sans changement,
on regarde en fait le résultat de 4 ans (et 1 jour) en arrière.

Rajouter ces 1462 jours permet donc de retomber sur nos pattes.
(j'étais arrivé à la même formule,
mais panne de synchro ADSL ( GRRRR!!! ) =impossible de te répondre avant...)

Bravo pour avoir trouvé cette soluce pour tte la génération 1904
^_^
Répondre
Arthemus- 6 sept. 2010 à 15:48
Merci pour tes réponses :

Quand Gordon répond à Arthemus, James West n'a qu'à bien se tenir !!! ;)
Allez, j'abuse encore une fois :
Je ne sais toujours pas le pourquoi du "-2" et du "+0.6" dans la formule, tu as une idée ?
C'est pour satisfaire mon immense curiosité intellectuelle ;o)

Encore merci
Cordialement,
Répondre
Yen Rieur- 6 sept. 2010 à 19:30
j'avoue le que "Gordon" était trop tentant
(même si ça n'était pas une question au sujet du Flash(player) )

en règle générale, je signe plutôt "Yen Rieur"

je ne sais pas exactement pourquoi le "-2" et le "+6/10"

j'imagine que c'est pour tomber sur des "début de semaine"

Un peu comme dans ma réponse à Niglo pour la formule inverse :
c'est tjrs les problèmes du CM2 avec le paysan qui veut cloturer son champ
et que tu te retrouves tjrs avec un piquet en trop ou en moins
suivant le nombre de cotés
^_^

le "-2" ça te permet de changer les semaines le lundi,
sinon, c'est le samedi que ça change
(vu que le 01/01/1900 est un dimanche)

et le "6/10", c'est pluss compliqué,
c'est pour tenir compte des années bissextiles j'imagine...
j'ai pas bien étudié ça...

tout ce que je sais, c'est que si tu le mets pas,
ça décale certaines années en totalité...
Certaines années du 1 janvier au 31 décembre sont bonnes,
et d'autres sont décalées de 1 semaine, en entier aussi...

Voici celles qui ne sont pas correctes :
1901, 1902, 1903, ..., 06, 07, 08, ..., 12, 13, 14,..., 17, 18, 19, 20, ..., 23, 24, 25, ..., 28, 29, 30, 31...

(c'est même pas tjrs la même quantité !!

mmmh.... ça a éveillé ma curiosité ça...
dés que j'ai du temps,
je décortique cette fonction pour comprendre pourquoi 6/10
(et surtout, pour 5/28 !!!)
Répondre
Arthemus- 6 sept. 2010 à 22:53
Salut Yen,

Pour le 5/28 c'est facile (enfin je pense) :
une année c'est 365+1/4 de jours ce qui donne en semaines :
365/7 + 1/28 ou en développant un petit peu le 1er membre :
364/7 + 1/7 + 1/28 ce qui donne :
52 + 1/7 + 1/28 en réduisant au même dénominateur les 2 derniers membres :
52 + 5/28 (n'oublies pas que la formule calcule un numéro de semaine, il faut donc bien raisonner en semaines !).

Voilà CQFD !

Ton approche pour le "-2" est intéressante, il reste que je coince vraiment pour le "0,6".
En tout cas chapeau à jlppap pour cette magnifique formule !

jlppap, si tu nous lis, fais nous un signe... C'est pour satisfaire mon immense curiosité intellectuelle...! ;o)

Encore merci Yen "Gordon" Rieur,
Cordialement.
Répondre
Ajouter un commentaire
Réponse
+6
moins plus
Bonjour,

Le : =ENT(MOD(ENT((D5-2)/7)+0,6;52+5/28))+1
marche tres bien pour moi ... Merci

J'aurais cependeant besoin de l'inverse de la formule ...

Je cherche a entrer le numéro de la semaine et l'année ... et que cela me donne le Lundi sous forme de date ... par exemple
Je tape le numéro de la semaine : 35 de l'année : 2010 ... ca me donne :
30/08/2010 ...
YenRIeur- 26 août 2010 à 13:53
j'ai une solution,
elle est moche, mais elle marche
huhu

en A3, la semaine
en B3, l'année

=DATE(B3;1;1)-JOURSEM(DATE(B3;1;1))+9 +(A3-ENT(MOD(ENT((DATE(B3;1;1)-JOURSEM(DATE(B3;1;1))+9-2)/7)+6/10;52+5/28))-1)*7

en gros, je trouve le premier lundi de l'année : DATE(B3;1;1)-JOURSEM(DATE(B3;1;1))+9
ensuite, je trouve à quelle numéro de semaine correspond ce premier lundi grace à la formule de JPAP

maintenant, on a un premier lundi,
on rajoute 7 fois le nombre de semaine à trouver moins le numéro de la semaine de départ
et voila...

en gros, pour semaine 35 de 2010 :
premier lundi = 4 janvier = Sem 1 => 4 janvier + ( 35-1 )*7 = 30 aout



j'ai testé avec plein de dates, ça à l'air de marcher...
...colonne A =ENT(ALEA()*53)+1
...colonne B =ENT(ALEA()*400)+1950
...colonne C = ma formule
...colonne D = la formule de JPAP sur mon résultat
...colonne E = ANNEE(C..)

...deux mises en forme conditionnelles pour faire flasher si A <> D ou si E <> B

...recopié ça sur tout l'écran
...et F9 pour faire bouger tt ça...

...statistiquement, entre 1950 et 2349, j'aurais du détecter...

pour les semaines 01, 51, 52 et 53,
j'ai testé de 95 à 2015 (mais sans vérifier sur des vrais calendrieris papiers)
ça passe aussi...

à condition que le lundi de la semaine 2009s01 soit bien le 29 décembre 2008...

je vous laisse tester vous même
^_^

PS :
pour améliorer la formule de JPAP, j'ai transformé "0.6" en "6/10"
pour ne pas être piégé par les paramètres régionnaux en "décimal point" ou "décimale virgule"
c'est vrai quoi JPAP, elle était améliorable ta formule !!
:op
Répondre
jjhillaire- 31 janv. 2011 à 12:06
j'ai une solution alternative

en A1 l'année
en B1 le n° de la semaine ISO
on détermine le lundi de cette semaine par la formule :

=DATE(A1;1;1)+SI(JOURSEM(DATE(A1;1;1);2)<=4;JOURSEM(DATE(A1;1;1);2)-4;8-JOURSEM(DATE(A1;1;1);2))+(7*(A2-1))

le si opère le correctif qui permet de déterminer le premier lundi de l'année ISO et ensuit c'est simplissime on ajoute autant de fois 7 que je n° de semaine -1 (réfléchissons pour savoir pourquoi -1 ! !
Répondre
MAXhillaire- 31 janv. 2011 à 20:31
@jjhillaire bon début ^_^
maintenant, pour pouvoir détrôner la solution de jlpapil faudrait que "tout" soit dans une seule formule : éviter qu'il y ait l'année dans une case, la semaine (B1 ou A2) dans une autre, etc.
Mais qu'il n'y ait que 2 cases : en B4, la date concernée, et la case de la formule...
C'est très jouable comme modif... (et ça permet de pouvoir la décliner sur des colonnes entières pour vérifier les différentes années ^_^ )
Répondre
Ajouter un commentaire
Réponse
+3
moins plus
=ENT(MOD(ENT((B4-2)/7)+0,6;52+5/28))+1

J'ai essayé cette formule mais elle pose un problème avec le 01/01/2010, elle me renvoie une semaine 53.
yenrioeur- 31 janv. 2008 à 20:22
et il a raison...

si tu regardes la date en question dans un calendrier
(en dble cliquant sur l'horloge de ton PC par exemple)

tu verras que le 1er Janv 2010 tombera un vendredi
et que le 1er janv 2009 tombe un jeudi.

et donc, c'est effectivement un cas où il y aura 53 semaines dans l'année
puisque les 4 jours

lundi 28 décembre 2009
mardi 29 décembre 2009
mercredi 30 décembre 2009
jeudi 31 décembre 2009

ne deviennent pas la semaine 2008/01

d'où l'intéret de cette formule qui tiend compte de cela
et qui ne mets pas systématiquement le 1 janv en semaine 01...
Répondre
YenRieur- 1 févr. 2008 à 07:11
faute de frappe :

il ne faut evidement pas lire 2008/01,
mais bien 2010/01 : la première semaine de 2010...
^_^
Répondre
Ajouter un commentaire
Réponse
+2
moins plus
Merci jlppap pour la formule. Pourriez-vous expliquer le pourquoi des éléments qui composent la formule, mis à part MOD et ENT qui sont des fonctions connues.
Merci d'avance
Ajouter un commentaire
Réponse
+2
moins plus
La réponse est simple : Il faut utiliser DatePart en précisant que la première semaine est celle du 4 janvier (puisqu'elle comporte minimum 4 jours en janvier)

Function NumeroSemaine(ByVal strDate As Date) As Integer
NumeroSemaine = DatePart("ww", strDate, vbMonday, vbFirstFourDays)
End Function

Et voila ;-)
Ajouter un commentaire
Réponse
+1
moins plus
Merci beaucoup pour ton aide!! Je me voyais assez mal refaire tout à cause d'une seule formule. Encore merci
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour Claire,

Puisqu'avant tu utilisais la fonction NO.SEMAINE, tu vas pouvoir faire continuer à utiliser tes classeurs sans changement (?).

MAIS... il faut savoir que cette fonction Excel comporte un bug. Il suffit pour s'en convaincre de demander en quelle semaine on est : le résultat est en avance d'une semaine en 2005 !

En effet, en général, le 1er janvier tombe en cours d'une semaine qui se trouve "à cheval" sur deux années A et A-1. Pour que cette semaine à cheval porte le numéro 01, il faut qu'elle contienne au moins 4 jours dans l'année A. Dans le cas contraire, elle sera affectée à l'année A-1, et portera le numéro 52 (ou 53, mais je n'entre pas dans le détail).

La macro NO.SEMAINE ne se casse pas la tête : elle inclut systématiquement le 1er janvier en semaine 01.

Donc fais gaffe : peut-être te faut-il ôter 1 à ton numéro de semaine en 2005 pour que tes résultats soient correct.

Bonne journée.
Armojax.
random 1621Messages postés vendredi 26 novembre 2004Date d'inscription 30 mars 2006 Dernière intervention - 11 févr. 2005 à 08:42
il y a une methode de choix du jour de départ dans la fonction
Répondre
Armojax- 11 févr. 2005 à 08:51
Exactement.
Et en faisant partir les semaines du lundi, comme c'est la règle courante, on a bien le problème en 2005, et on l'aura aussi en 2006.
Répondre
Tippa- 25 sept. 2008 à 09:12
Bonjour,

J'arrive un peu tard dans le débat juste pour préciser que ceci n'est pas un bug mais un "américanisme". En effet en Europe, la première semaine de l'année doit comporter au moins 4 jours pour être considérée comme semaine 1, mais pas aux Etats Unis ou la règle est : Première semaine de l'année = semaine du premier janvier.
On retrouve cette différence avec Outlook, si vous allez visitez les Outils/Options/Options du calendrier vous trouverez ce menu déroulant qui vous permet de choisir comment Outlook affiche les numéros de semaines : Première semaine de 4 jours, ou Commence le premier janvier (par défaut) ou Première semaine complète.
Dommage que ce choix ne soit pas possible sous Excel ;-)
Répondre
michel_m 12053Messages postés lundi 12 septembre 2005Date d'inscription ContributeurStatut 7 juillet 2015 Dernière intervention - 25 sept. 2008 à 10:33
Salut Tippa,

Pour trouver le N° de semaine européen (ISO) d'une date, voir le site de Laurent Longre:
http://xcell05.free.fr/pages/form/dateheure.htm#Numsemaine

cordialement
Répondre
Ajouter un commentaire
Réponse
+1
moins plus
pour ceux qui utiliserai le vba:
Function NOSEM(D As Date) As Long
'La fonction suivante renvoie le numéro de semaine conforme à la norme ISO, _
utilisée dans les pays européens (la première semaine d'un mois étant définie _
comme la première semaine comportant au moins quatre jours dans le mois).

D = Int(D)
NOSEM = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) \ 7 + 1
End Function
Ajouter un commentaire
Réponse
+0
moins plus
c'est tout bete
tu fais outil macro complementaire
et tu coches les macro en +
il va te redemander ton disque d'installation
et tout marchera comme avant
toutleotutim- 20 avril 2010 à 14:34
bonjour cela ne marche pas toujours office ne marche pas forcement la méthode dejlppap focntionne sur tous les pc
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
J'ai eu le même problème au boulot.
Je l'ai contourné par la formule :
=TRONQUE((B1-(B2-1900)*365.25)/7)+1
B1 étant la date du jour et B2 l'année (=ANNEE(B1))
Ceroce-Rino- 5 juin 2007 à 18:18
Cette méthode ne fonctionne pas pour tous les cas.
Le premier de l'an, ne se trouve pas forcement dans la première semaine de l'année.
D'un autre coté, peut-on dire que le dimanche 01 janvier 2006 est une semaine à lui tout seul ?
La règle de numérotation des semaines est-elle différente selon les pays ?
Voila autant de variables à mettre en jeu pour une fonction qui parrait assez simple au départ.

Avec cette formule le samedi 07 janvier 2006 ne fait plus partie de la même semaine que le lundi 02 janvier 2006.
Ce qui parrait problématique excépté si on ne s'occupe que des jours ouvrés, mais quand même ^^
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
pour ma part, je viens de m'en créer une qui marche
pour ttes les années que j'ai pensé à tester...
(c'est à dire celles dont j'ai un calendrier sous le nez... ^^

ENT((A1-DATEVAL("1/1/"&ANNEE(A1))+JOURSEM(DATEVAL("1/1/"&ANNEE(A1)))-2)/7)+1

avec bien sur, A1 contient la date que vous voulez...

en gros,
ça fais la différence entre la date et le premier janvier de l'année concernée
A1-DATEVAL("1/1/"&ANNEE(A1))

ça tiend compte du jour de la semaine qu'est le premier janvier
+JOURSEM(DATEVAL("1/1/"&ANNEE(A1)))

ça retire 2 pour que les changements s'opère les lundis
-2

et après, on divise par 7,
on prds la valeur entière
et on rajoute 1...

en tt cas, ça marche au moins pour 2007, 2008 et 2009.

si ça peut aider qq'1...
Yen Rieur- 3 janv. 2008 à 09:57
en fait, je viens de tester ma formule
sur d'autres années passées et ça ne marche pas pour 2006...
(qd le 1er janvier appartient à la semaine 52...)

donc, j'annule mon post précédent
(et m'en excuse huhu)

par contre, j'adopte avec grde joie la formule
=ENT(MOD(ENT((A1-2)/7)+0,6;52+5/28))+1
qui doit même fonctionner sous excel 2.0 !!

grand merci à l'auteur !!!
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Je n'arrive pas a faire fonctionner cette formule !
Je remplace A3 par ma cellule qui contient la date mais il m'indique #NOM :S
Yen RIeur- 25 janv. 2008 à 00:37
tu as essayé la formule de jlppap ?

=ENT(MOD(ENT((B4-2)/7)+0,6;52+5/28))+1

je l'ai testé, elle fonctionne pour ttes les années !!
Répondre
postite 1- 12 juin 2008 à 14:08
Bonjour,

quand j'utilise votre formule, j'ai cette mention qui apparaît dans la cellule "#NAME?". Avez-vous une idée du pourquoi ?

merci pour votre réponse

postite1
Répondre
YenRieur- 12 juin 2008 à 17:41
dans 2 cases différentes, tapes :
=ENT(12.34)

=MOD(12.34)

déjà, on saura si c'est ENT ou MOD qui pose problème...

et après, ça doit sans doute venir de l'install de ton Excel,
des options, tt ça tt ça...

c'est quelle version que tu utilises ?
Répondre
YenRieur postite 1 - 12 juin 2008 à 17:43
je suis trop clown...

si
=ENT(MOD(ENT((B4-2)/7)+0,6;52+5/28))+1
ne marche pas, c'est peut être que ton Windows utilises des points pour faire les virgules
;op

essaye
=ENT(MOD(ENT((B4-2)/7)+0.6;52+5/28))+1
Répondre
L'homo Micro postite 1 - 13 janv. 2010 à 11:39
Attention ENT en Français et INT en Anglais
Cordialement
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

On peut également utiliser DatePart en VBA en créant une fonction dans un module :

Function ReturnNumWeek(ByVal strDate As Date) As Integer
    ReturnNumWeek = DatePart("w", strDate)
End Function


Il suffit d'utiliser cette fonction comme une formule de calcul.

;o)

Polux
Ajouter un commentaire
Réponse
+0
moins plus
pag21- 31 janv. 2012 à 17:19
Formule qui ne marche que certaines années, par exemple fin 2008 et début 2009, mais pas pour janvier 2010.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Merci jmib0, je regarde comment intégrer votre réponse avec la formule de jlppap.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour à tous,

Quelqu'un pourrait donner une explication à cette formule fournie par jllap
qui retourne le numéro de la semaine à partir d'une date?

Utiliser la formule : date recherchée en B4

=ENT(MOD(ENT((B4-2)/7)+0,6;52+5/28))+1

Merci
Luc.
la small- 20 janv. 2009 à 15:42
celle formule ne fonctionne pas pour l'année 2009.
Répondre
Yen-Rieur- 20 janv. 2009 à 19:52
Peux-tu expliquer pourquoi tu dis ça ?
quels seraient les jours qui ne marcheraient pas avec cette formule ???

je remets ici mon mail de l'année dernière, le n°15 dans la liste ci-dessus.
(en ayant corrigé la faute de frappe qui portait à confusion)


------------
15 yenrioeur, le jeudi 31 janvier 2008 à 20:22:20

et il a raison...

si tu regardes la date en question dans un calendrier
(en dble cliquant sur l'horloge de ton PC par exemple)

tu verras que le 1er Janv 2010 tombera un vendredi
et que le 1er janv 2009 tombe un jeudi.

et donc, c'est effectivement un cas où il y aura 53 semaines dans l'année
puisque les 4 jours

lundi 28 décembre 2009
mardi 29 décembre 2009
mercredi 30 décembre 2009
jeudi 31 décembre 2009

ne deviedront pas la semaine 2010/01

d'où l'intéret de cette formule qui tiend compte de cela
et qui ne mets pas systématiquement le 1 janv en semaine 01...
------------


je viens de revérifié, c'est tjours vrai
huhu

Outlook et sa façon de compter américaine veut nous faire croire
que le lundi 28 décembre 2009 sera la première semaine de 2010,
ce qui est faux avec notre manière française de compter les semaines...

d'où le besoin initial d'avoir une formule qui calcule "vraiment"
et qui se différencie bien de la fonction "semaine" de Excel...

Bravo une année de pluss à l'auteur !!!!
^_^
Répondre
Tete Jaune la small - 12 août 2009 à 15:09
Je suis d'accord!

J'ai fait tout simplement ceci :
=ENT(MOD(ENT((AUJOURDHUI()-2)/7)+0,6;52+5/28))+1

où aujourdhui() renvoie 12/08/09 et bien le résultat est 32.... au lieu de 33....
Répondre
Maya33- 4 déc. 2009 à 10:06
Non !!! Résultat 33, formule opérationnelle .... peut-être une erreur de frappe.
Répondre
zapi Tete Jaune - 20 janv. 2010 à 11:37
J'ai trouver !

J'avais la même erreur que tête jaune sauf que j'utilisait la fonction Date(9;8;12) pour tester.
Mais attention Date(9;8;12) renvoi 12/08/1909 et non 2009 !!!

Et en 1909, le 12 aout tombait bien en semaine 32...
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
<code>Bonjour à toutes et à tous,
En me basant sur la formule de JLPPAP et à l'aide des normes ISO fournies par NICL, j'ai établi ce tableau (sous Excel 2007).
Il démontre clairement, à mon avis, que la formule de JLPPAP est on ne peut plus juste.
Par contre celle d'Excel n'est pas fausse pour les EU. Simplement elle n'est pas aux normes européennes.


<code>                             Valeur retournée par la                                 Valeur retournée par
                                 formule de JLPPAP                                    la formule d'Excel 2007	
                    
					
=ENT(MOD(ENT((??-2)/7)+0,6;52+5/28))+1      	                            =NO.SEMAINE(??;2)	
					
					
lundi 1 janvier 2001		1	       	                                         1	
mardi 1 janvier 2002		1		                                         1	
mercredi 1 janvier 2003		1		                                         1	
jeudi 1 janvier 2009		1		                                         1	
vendredi 1 janvier 2010		53		                                         1	
dimanche 1 janvier 2006		52		                                         1	
vendredi 1 janvier 2016		53		                                         1	
samedi 1 janvier 2005		53	(année précédente bisextile)	     1	
samedi 1 janvier 2011		52	(année précédente NON bisextile)     1	
					
(Les ?? dans les formules respectives représentent les références des cellules où sont situées les données dates)					
										
PS :					
samedi 16 janvier 2010		2	(Date fournie par Coco7412 le 31/1/2010)	
C'est bien 2 et non 3 : donc formule juste !					
J'espère que ceci vous sera utile. Amicalement.JP
</code>
Ajouter un commentaire
Réponse
+0
moins plus
De mon côté j'ai besoin de l'année + numéro de semaine.
Exemple : 201201 ou 201252

La formule ci-dessus renvoie le numéro de semaine sur 1 chiffre. Semaine = 5 par ex, ce qui me fait 20125.

Problème : pour garantir une suite chronologique, je dois donc faire apparaître ce numéro de semaine sur 2 chiffres (01,02,05,10,52)

Si mon num de semaine est inférieur à 10, je dois donc ajouter un zéro :

Voici la formule : =ANNEE(A1)&SI(ENT(MOD(ENT((A1-2)/7)+0,6;52+5/28))+1>=10;ENT(MOD(ENT((A1-2)/7)+0,6;52+5/28))+1;0&ENT(MOD(ENT((A1-2)/7)+0,6;52+5/28))+1)
PointDécimal- 29 mars 2012 à 20:02
perso, je préfère la formule :
= ANNEE(A1)&DROITE("0"&(ENT(MOD(ENT((A1-2)/7)+6/10;52+5/28))+1);2)
qui évite la répétition, et en mettant 6/10,
tu évites que ta formule plante sur les ordis d'informaticiens,
qui mettent un "." au lieu d'une "," pour pouvoir taper plus vite d'une seule main sur le clavier numérique...
Répondre
Ajouter un commentaire
Ce document intitulé «  insérer le numéro de la semaine sous excel  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.