Formule + VBA Incrémenter N° Semaine

Bonsoir à tous,

Sur ce projet, il faudrait que je puisse incrémenter les N° de semaine en ligne 3

Le problème est que certaines années ont 53 semaines

1) Quelle serait la formule magique pour qu'après 52 ou 53, on continue avec 1,2,3 etc... ?

2) L'idéal serait de pouvoir planifier sur 2 ans

Il y a longtemps que ce projet me chatouille, aidez-moi à le concrétiser.

Amicalement

Claude.

Bonjour,

Soit dans une cellule masquée, soit en utilisant une formule nommée, tu utilises la formule suivante :

=DATE(ANNEE(D2)+1;1;3)-JOURSEM(DATE(ANNEE(D2)+1;1;3))

Cela va te donner la date du samedi de la dernière semaine de l'année.

Ensuite tu calcules le numéro de la semaine de ce résultat avec la formule habituelle

et tu auras le nombre de semaines de l'année.

Sur ta ligne 3, il te resteras alors à remplacer 52 par ce résultat.

A+

re,

Merci OOoiste,

le temps de tester ta 1ère réponse, et tu l'a modifiée,

elle donnait pourtant satisfaction sauf que pour l'année 2008 elle retournait 1

j'ai simplement ajouté Max(52;......) , ce qui donne en D1:

=MAX(52;ENT(MOD(ENT((DATE(ANNEE(D2);12;31)-2)/7)+0,6;52+5/28))+1)

et ensuite, comme tu dis je remplace le 52 par D1

=SI(M3<$D$1;M3+1;1)

çà marche nickel et c'est simple, comme j'aime !

J'ai pas tester ta formule modifiée et j'ai bien envie d'en resté là, à moins que tu n'ai

trouver une contre-indication ?

Dis-moi

je laisse le poste ouvert car peu-être d'autres questions vont surgirent.

encore merci

Claude

Elle renvoie 1 souvent, pas seulement pour 2008.

C'est pour ça que je l'ai supprimée et que je suis reparti sur une autre piste alors qu'il suffisait d'utiliser MAX.

Sinon avec MAX(52;la formule) c'est bon aussi.

Tu as donc le choix de la formule.

A+

Bonjour Oooiste, à tous,

Vu pour ce point, c'est ok,

Le projet avance, maintenant je coince sur une syntaxe VBA

cette formule renvoie le N° de semaine de la date située en "G1"

Range("i1") = "=INT(MOD(INT((g1-2)/7)+0.6,52+5/28))+1"

je voudrais remplacer Range("i1") par une variable du genre :

y = Application.Int(Application.MOD(Application.Int((Range("g1") - 2) / 7) + 0.6, 52 + 5 / 28)) + 1

mais je n'arrive pas à l'écrire correctement

Bonne journée

Claude.

-- Jeu Juil 15, 2010 8:32 am --

Bonjour à tous,

Le problème d'incrémentation étant résolu grâce à Oooiste,

j'ouvre un nouveau poste + explicite pour la suite.

Amicalement

Claude

Rechercher des sujets similaires à "formule vba incrementer semaine"