Compléter suite avec conditions

Florian53

XLDnaute Impliqué
Bonjour à tous,

Je souhaiterais compléter une liste :

En "A1" je dispose d'une valeur :

200109 --> Qui correspond à Année-Semaine

En "A2" :

201212

Est t-il possible par macro d’insérer des lignes et de compléter toutes les valeurs manquantes incrémenter avec la valeur "aaaa52" comme butée par année ?

Merci à vous
 

Pièces jointes

  • test.xlsx
    10.3 KB · Affichages: 20

Florian53

XLDnaute Impliqué
Bonjour à tous,

Je pense être dans la bonne voie en faite sur une autre feuille j'ai récupérer la valeur de "A1" soit "200109" et en "A2" j'ai inscrit cette formule :

=SI(DROITE(A1;2)<52;(GAUCHE(A1;4)&(DROITE(A1;2)+1));(SI(DROITE(A1;2)=52;(GAUCHE(A1;4)+1&"1"))))

puis je l'ai tiré jusqu'en A2000.

Par contre cette formule bug quand les 1 chiffre de (DROITE(A1;2) est un 0.
Excel n'arrive pas à traiter 09<52

Avez vous une astuce ?
 

michel_m

XLDnaute Accro
Re,
pourquoi utiliser des cnum(droite....) alors qu'il existe la fonction MOD comme je te l'ai conseillé ?

usine à gaz pour tenir compte des fameuses semaines 53
=SI(MOD(A1;100)=52;SI(JOURSEM(DATE(ENT(A1/100);12;31))>=4;ENT(A1/100)&"53";ENT(A1/100)+1&"01");ENT(A1/100)&TEXTE(MOD(A1;100)+1;"00"))
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
:confused: usine à gaz pour tenir compte des fameuses semaines 53 ...:mad:
en A1 : une date quelconque
en A2 : =A1+7
en B2 :
=ANNEE(A2-JOURSEM(A2;2)+4)&"_"&TEXTE(ENT(MOD(ENT((A2-2)/7)+3/5 ; 52+5/28))+1;"00")
sélectionner : A2:B2 et tirer vers le bas autant que nécessaire...
:cool:
upload_2017-7-12_10-15-29.png
 

Modeste geedee

XLDnaute Barbatruc
Merci à vous 2,

Ce lien n'existe plus: J'ai repris ton astuce mais comment passer de 200101 à 01/01/2001 du coup ?
200101 correspond à la semaine 01 pour 2001... le premier jour de la semaine est un Lundi
l'année ne commence pas nécessairement un lundi, mais le premier jeudi de l'année appartient toujours à la semaine 01
mais il n'est donc pas garanti que le 1er janvier d'une année appartienne toujours à la première semaine

la formule que j'ai proposée renvoie Année_semaine pour le Jeudi de la date passée en référence.
 

michel_m

XLDnaute Accro
Merci de tes explications
mais dans la demande initiale la liste en colonne A est "hebdomadaire" sous la forme aaaaww "littéraire" et non sous forme de date comme dans ton classeur joint.... c'est ce que je comprend pas

par ex 20152 en colonne A d'près Florian
si le numéro de la semaine est 52, je regarde si le jour du 31/12 de l'année (2001) tombe un jeudi ou plus; si oui 53 sinon année +1 semaine 1
 

Florian53

XLDnaute Impliqué
Bonsoir à tous, je pense avoir reussi a palier ce problème de convertion de date:

En "B1", j'ai indiqué la formule "=(DATE(GAUCHE(A1;4);1;1))"

En "C1", "=TEXTE(ANNEE(B1-JOURSEM(B1;2)+4)&""&TEXTE(ENT(MOD(ENT((B1-2)/7)+3/5; 52+5/28))+1;"00");"0")"

A priori sa a l'air de fonctionner.

Encore un grand merci à vous 2
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 310
Membres
102 859
dernier inscrit
Diallokass