Incrémenter le format "année-N°semaine

DavidL

XLDnaute Nouveau
Bonsoir,

Je souhaite avoir un plage de date qui s'ajuste sur la date du jour.

J'utilise dans la plage A1:A5 un format année-n°semaine

En A3 la formule =DROITE(TEXTE(AUJOURDHUI();"aaaa");4)&NO.SEMAINE(A UJOURDHUI()) , ensuite j'incrémente les cellules et donc fonction de la date du jour, la plage suit.
N'étant pas dans un format "date" je trouve des inepties du genre 201478

cette semaine 12 j'ai donc
201410
201411
201412 =DROITE(TEXTE(AUJOURDHUI();"aaaa");4)&NO.SEMAINE(A UJOURDHUI())
201413
201414

Je cherche une solution pour incrémenter l'année au-delà de S52.

Pouvez-vous m'aider?

D'avance merci

David
 

Staple1600

XLDnaute Barbatruc
Re : Incrémenter le format "année-N°semaine

Bonsoir à tous,

DavidL
As-tu parcouru les cinq liens tout en bas de la page?
Dans Discussions similaires

Tu devrais y trouver des infos pour t'aider à solutionner ta question :)

Sinon, voir aussi dans les archives du forum, en cliquant sur la loupe en haut à droite.

Autrement , tu peux utiliser cette formule de mon cru (si ta date est en A1)
Code:
=ANNEE($A$1)&NO.SEMAINE.ISO($A$1+LIGNE()-1)
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Incrémenter le format "année-N°semaine

Bonjour à tous.


Peut-être ceci, sans recours à la fonction NO.SEMAINE :​
VB:
=          ANNEE(AUJOURDHUI()+LIGNE(1:1)*7-18-MOD(AUJOURDHUI()+5;7))
         &TEXTE((AUJOURDHUI()+LIGNE(1:1)*7-14-MOD(AUJOURDHUI()+5;7)
     -DATE(ANNEE(AUJOURDHUI()+LIGNE(1:1)*7-18-MOD(AUJOURDHUI()+5;7));1;1)
 +MOD(DATE(ANNEE(AUJOURDHUI()+LIGNE(1:1)*7-18-MOD(AUJOURDHUI()+5;7));1;6);7))/7
-(MOD(DATE(ANNEE(AUJOURDHUI()+LIGNE(1:1)*7-18-MOD(AUJOURDHUI()+5;7));1;6);7)>3);"00")
À saisir en première ligne et à recopier vers le bas.

Quelques variantes dans le classeur joint.​


ℝOGER2327
#7221


Lundi 2 Clinamen 141 (Saints Hiboux, maîtres-chanteurs - fête Suprême Quarte)
4 Germinal An CCXXII, 1,5736h - tulipe
2014-W13-1T03:46:36Z
 

Pièces jointes

  • Semaines_ISO_incrémentées.xlsx
    18.4 KB · Affichages: 72

Modeste geedee

XLDnaute Barbatruc
Re : Incrémenter le format "année-N°semaine

Bonsour®
:cool:
autre proposition pour que l'année soit associée au bon N° de semaine (ISO)
même ... si la semaine 1 , 52 ou 53 est à cheval sur 2 années :rolleyes:
Capture.JPG
les calculs se font sur la date du jeudi ( la semaine 1 est celle qui contient le premier jeudi de l'année)

en A1 l'année de départ
en a2 :
VB:
=ANNEE( 
        DATE($A$1;1;4)-14+(7*LIGNE()-2)
        -(JOURSEM( DATE($A$1;1;1)+(7*LIGNE()-2);3)))
&TEXTE(ENT(MOD(ENT(((
        DATE($A$1;1;4)-14+(7*LIGNE()-2)
         -(JOURSEM(DATE($A$1;1;1)+(7*LIGNE()-2);3)))
                              +1)/7)+0,6;52+5/28))+1
            ;"00")
à recopier vers le bas :cool:
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    25.4 KB · Affichages: 162
  • Capture.JPG
    Capture.JPG
    25.4 KB · Affichages: 145
Dernière édition:

chris

XLDnaute Barbatruc
Re : Incrémenter le format "année-N°semaine

Bonjour à tous

Juste pour rappeler le problème NO.SEMAINE selon les versions :
  • jusqu'à 2007 inclus NO.SEMAINE ne correspond pas à la semaine ISO et il faut utiliser les formules de Roger ou Modeste Geedee
  • à partir de 2010 on peut utiliser NO.SEMAINE avec comme second argument 21
  • à partir de 2013 on peut utiliser NO.SEMAINE.ISO comme proposé par Staple
 

ROGER2327

XLDnaute Barbatruc
Re : Incrémenter le format "année-N°semaine

Bonjour chris, bonjour à tous.


(...) à partir de 2013 on peut utiliser NO.SEMAINE.ISO comme proposé par Staple
Probablement pas. Essayez avec 3/01/2016, pour voir.
Je ne possède pas Excel2013, mais, si j'en crois l'aide approximative[SUP](*)[/SUP] fournie par Microsoft, la formule de Staple devrait renvoyer 201653.
Je doute que le dimanche 3 janvier 2016 appartienne à la cinquante-troisième semaine de l'année 2016.
Si un utilisateur d'Excel2013 peut lever le doute, je l'en remercie d'avance.​


Bonne journée.


ℝOGER2327
#7222


Lundi 2 Clinamen 141 (Saints Hiboux, maîtres-chanteurs - fête Suprême Quarte)
4 Germinal An CCXXII, 4,6014h - tulipe
2014-W13-1T11:02:36Z


[SUP](*)[/SUP] On y trouve
(...) Par défaut, le 1er janvier 1900 correspond au numéro de série 1, et le 1er janvier 2008 correspond au numéro de série 39448 car 39 448 jours se sont écoulés depuis le 1er janvier 1900.
(...)
Semi-vérité ou semi-mensonge, comme on voudra : il s'est écoulé 39 447 jours du 1er janvier 1900 au 1er janvier 2008.
 

chris

XLDnaute Barbatruc
Re : Incrémenter le format "année-N°semaine

Bonjour

Exact ! Cela renvoie 53 donc il faut ajuster l'année.

Ma remarque portait sur le calcul du numéro de la semaine mais, j'en conviens, elle est ambiguë dans ce contexte.
 

Modeste geedee

XLDnaute Barbatruc
Re : Incrémenter le format "année-N°semaine

Bonsour®
Je doute que le dimanche 3 janvier 2016 appartienne à la cinquante-troisième semaine de l'année 2016.
en effet ...:rolleyes:
[Mode=Mouche du côche]
si l'on considère le 3 Janvier 2016 en tant que dimanche
le jeudi suivant est alors le 7 janvier 2016 et est bien le 1er jeudi de l'année 2016
dans ce cas : NO.SEMAINE.ISO(Excel2013) ramène-t-il bien le Bon N° de semaine ISO
[/Mode]
dimanche 3 janvier 2016 appartient donc à la dernière semaine de l'année 2015

:rolleyes: roule-yeux :D
 

ROGER2327

XLDnaute Barbatruc
Re : Incrémenter le format "année-N°semaine

Re...


Bonjour

Exact ! Cela renvoie 53 donc il faut ajuster l'année.

Ma remarque portait sur le calcul du numéro de la semaine mais, j'en conviens, elle est ambiguë dans ce contexte.
Je ne crois pas que le "53" soit la seule cause de la nécessité d'ajuster l'année. Essayez par exemple avec 1/01/2006 (ou avec 30/12/2008) : la formule en question renvoie un "200652" (ou un "20081") pour le moins douteux. Je dirais plutôt "Cela renvoie 1 ou 52 ou 53, donc il peut être nécessaire d'ajuster l'année".
Les histoires de date ne sont jamais simples avec les yankees...

Par contre, il est effectivement possible que NO.SEMAINE.ISO renvoie proprement le numéro de la semaine. Ce qui ne saurait justifier la migration vers Excel2013 : cette prétendue nouvelle fonction ne semble être qu'un avatar de l'ancienne fonction NO.SEMAINE.
Les utilisateurs d'Excel2010 peuvent écrire

=NO.SEMAINE(Date_à_traiter;21)
au lieu de
=NO.SEMAINE.ISO(Date_à_traiter).​

J'ignore ce qu'il en est avec Excel2007.

Le rêve serait que, sauf son respect et sans vouloir offenser ses sectateurs, Microsoft sortît de son provincialisme étroit et s'ouvrît aux Restes du Monde en intégrant des fonctions GREG2ISO et ISO2GREG faisant le boulot de celles proposées dans le classeur joint.

Ne rêvons pas trop : peut-être qu'une telle performance est hors de portée de sa technologie ou que l'énormité de l'investissement financier nécessaire dépasse ses moyens. Pas la peine de m'allumer : je déconne !


ℝOGER2327
#7223


Lundi 2 Clinamen 141 (Saints Hiboux, maîtres-chanteurs - fête Suprême Quarte)
4 Germinal An CCXXII, 6,1439h - tulipe
2014-W13-1T14:44:43Z
 

Pièces jointes

  • GREG2ISO_ISO2GREG.xlsx
    14.4 KB · Affichages: 80

Discussions similaires

Réponses
9
Affichages
835

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 846
dernier inscrit
Silhabib