Créer un onglet par semaine de l'année

Bonjour,

j'ai un fichier qui doit comporter un onglet par semaine de l'année 2016.

la "Base" de chaque onglet étant la même, le but est de recopier 52 fois le premier onglet et donner à chacun le numéro de la semaine, soit SEM01, SEM02,SEM03 ...

J'ai trouvé le programme suivant, qui fonctionne très bien :

Sub creer_annee()

Dim cptr As Byte, jour As Byte

Application.ScreenUpdating = False

For cptr = 2 To 53

Sheets(1).Copy after:=Sheets(cptr - 1)

With Sheets(cptr)

.Name = "S" & cptr - 1

'date du lundi de la semaine créée

.Cells(1, 1) = 7 * (cptr - 1) + DateSerial(Annee, 1, 3) - Weekday(DateSerial(Annee, 1, 3)) - 5

For jour = 2 To 7

.Cells(1, jour) = .Cells(1, jour - 1) + 1

Next

End With

Next

End Sub

mais le problème est qu'il compte la semaine du 28/12/2015 au 03/01/2016 comme semaine numéro 1 alors que officiellement il s'agit de la 53 ième semaine de 2015 et la semaine n° 1 de 2016 débute le 4 janvier.

Comment pourrais-je transformer cela ?

Merci à vous.

Ahhhh ça m'a fait pareil !!

Ce que j'ai du faire c'est rajouter un "-1" pour afficher la bonne semaine (le seul problème c'est que ça marche que pour 2016... En 2017 tu te retrouves avec du semaine 0) !

Cordialement !

C'est vraiment nécessaire de créer un onglet par semaine ? Non, parce que c'est inutilisable derrière ... Naviguer dans les onglets, c'est plutôt infect.

Autant mettre toutes les données dans le même onglet, et de filtrer les valeurs qui ne concernent pas la semaine en cours ...

Accessoirement, cela permet de faire des calculs facilement à travers plusieurs semaines.

Peuwi, le problème reste le même, excel prend la semaine 53 comme semaine 1, je pense que c'est surtout ça qui coince !

PierreHBG a écrit :

Ahhhh ça m'a fait pareil !!

Ce que j'ai du faire c'est rajouter un "-1" pour afficher la bonne semaine (le seul problème c'est que ça marche que pour 2016... En 2017 tu te retrouves avec du semaine 0) !

Cordialement !

Excel 2013 a enfin corrigé le problème en proposant une formule avec paramètre.

En attendant, internet propose plusieurs formules du n° de semaine qui respecte la norme ISO 8601 https://fr.wikipedia.org/wiki/Semaine_1

Exemple :

=ENT((A2-SOMME(MOD(DATE(ANNEE(A2-MOD(A2-2;7)+3);1;2);{1E+99;7})*{1;-1})+5)/7)

avec la date en A2 (formule de Laurent Longre )


PierreHBG a écrit :

Peuwi, le problème reste le même, excel prend la semaine 53 comme semaine 1, je pense que c'est surtout ça qui coince !

Rappel de la norme ISO :

la semaine 53 de 2015 se termine le dimanche 3 janvier 2016

et la semaine 1 de 2016 commence le lundi 4 janvier 2016

Merci de vos réponses, je vais essayer cela.

si je trouve où je dois mettre mon "-1" ??

SimKmil a écrit :

si je trouve où je dois mettre mon "-1" ??

surtout pas, utilise la formule ci-dessus au lieu de NO.SEMAINE

Steelson a écrit :
PierreHBG a écrit :

Ahhhh ça m'a fait pareil !!

Ce que j'ai du faire c'est rajouter un "-1" pour afficher la bonne semaine (le seul problème c'est que ça marche que pour 2016... En 2017 tu te retrouves avec du semaine 0) !

Cordialement !

Excel 2013 a enfin corrigé le problème en proposant une formule avec paramètre.

En attendant, internet propose plusieurs formules du n° de semaine qui respecte la norme ISO 8601 https://fr.wikipedia.org/wiki/Semaine_1

Exemple :

=ENT((A2-SOMME(MOD(DATE(ANNEE(A2-MOD(A2-2;7)+3);1;2);{1E+99;7})*{1;-1})+5)/7)

avec la date en A2 (formule de Laurent Longre )


Salut, j'ai essayé ta formule et ça ne marche pas... Si tu as d'autres solutions, je suis preneur !

PierreHBG a écrit :

Salut, j'ai essayé ta formule et ça ne marche pas... Si tu as d'autres solutions, je suis preneur !

Bonjour,

qu'est-ce qui ne fonctionne pas ?

Voir ci-joint

189numero-semaine.xlsx (9.40 Ko)

Bonjour,

Avec les versions excel à partir de 2007 pour les numéros de semaine norme ISOP vous pouvez aussi utiliser la formule NO.SEMAINE comme ci après :

=NO.SEMAINE(A2;21)

Cordialement

Hugues


HUGOBASS a écrit :

Bonjour,

Avec les versions excel à partir de 2007 pour les numéros de semaine norme ISOP vous pouvez aussi utiliser la formule NO.SEMAINE comme ci après :

=NO.SEMAINE(A2;21)

Cordialement

Hugues

Bonjour,

Je corrige mon propos à partir de excel 2010 windows et excel 2011 mac

Cordialement

Hugues

160numero-semaine.xlsx (8.99 Ko)
Rechercher des sujets similaires à "creer onglet semaine annee"