Cycle hebdomadaire

Guy_L

XLDnaute Occasionnel
Bonjour,
Le problème peut sembler assez simple, mais je bute sur le script à réaliser:

L'idée est de générer un calendrier annuel automatique (jusque là, je sais faire).
1) Il y a un onglet par mois baptisés du nom du mois.

2) Le premier jour du mois tombe sur la cellule B5. Les suivants étant incrémentés par
=DATE(ANNEE(B5);MOIS(B5);2) pour le deuxième jour puis =C5+1, D5=C5+1,...

3) Pour l'incrémentation par mois (par exemple février, j'ai mis =DATE(ANNEE(Janvier!$B$5);MOIS(Janvier!$B$5)+1;1)

4) Dans la ligne au dessus (ligne 4), j'affiche le jour sur trois lettre dont la première en majuscule par =NOMPROPRE(TEXTE(B5;"aaa"))

5) Dans la ligne encore au dessus (ligne 3), le n° de la semaine dans l'année par =CONCATENER(A43;" ";NO.SEMAINE(DATE(D3;1;1)))
(D3 étant une saisie manuelle de l'année souhaitée par l'utilisateur)

Tout cela fonctionne parfaitement et j'obtiens donc une grille mensuelle avec de haut en bas
- ligne 3 la semaine
- ligne 4 le jour de la semaine
- ligne 5 la date du jour (sans l'année)

C'est après que ça se "corse":

Dans la ligne 6 je veux afficher un "cycle" sur huit semaines du type 1/8 , 2/8 , 3/8, ... jusqu'à 8/8 puis recommencer à 1/8 ....
Sachant que, le 1er janvier primo, peut être n'importe quel jour de la semaine selon l'année et secundo a un cycle qui fait suite à l'année précédente et peut donc tout aussi bien être 1/8 que 5/8 ou même 8/8, il faut que les lundis qui suivent ce chiffre de cycle s'incrémentent seuls et ce, jusqu'à la fin de l'année.

j'avais d'abord tenté de le faire par calcul avec ceci:
=SI(C$5="";"";SI(JOURSEM(B$5;2)=7;SI(MAX($B$6:B$6)+1/8=8/8;REMPLACER(MAX($B$6:B$6)+1/8;1;3;"8/8");MAX($B$6:B$6)+1/8);""))

C'est très "barbare" et en plus je n'arrive pas à gérer le retour à 1/8 après le 8/8 car il "calcule" ça comme un nombre et traduit donc
4/8 par 0,5 et 8/8 par 1 (c'est mathématique)

Voilà, j'espère avoir été clair dans mes explications.
La solution passe peut-être par calcul ou par macro, mais j'avoue que c'est un casse tête pour moi.

Merci d'avance pour votre aide.
 
Dernière édition:

Guy_L

XLDnaute Occasionnel
Re : Cycle hebdomadaire

Merci, je ne sais pas si la fonction MOD peut s'appliquer dans mon cas, j'ai fait une copie écran de ce que je cherche à obtenir
Lien supprimé

J'ai testé ton fichier au-delà de 8 cycles, et le résultat dans la colonne B continue sur 9/8, 10/8 ... ce qui n'est pas souhaité (redémarrage sur 1/8).
 
Dernière édition:

Guy_L

XLDnaute Occasionnel
Re : Cycle hebdomadaire

Bonjour,
Il y a de bonnes idées à prendre, mais j'avoue ne pas avoir tout compris (difficile de décortiquer sans explications).
La ligne 4 semble ne pas fonctionner (indication "Jjj").
Merci pour cette proposition.

Voici où j'en suis (le cycle fonctionne partiellement sur le mois de janvier et pose toujours le problème au delà de 7/8)
 

Pièces jointes

  • Cycle en test_1.xls
    556 KB · Affichages: 50
  • Cycle en test_1.xls
    556 KB · Affichages: 53
  • Cycle en test_1.xls
    556 KB · Affichages: 52
Dernière édition:

Claude38

XLDnaute Impliqué
Re : Cycle hebdomadaire

Bonjour tous,

Guy_L

Pour la ligne 4 je ne remarque rien d'anormal (sinon précise l'erreur),je poste un fichier avec une formule pour ne marquer le cycle que sur les lundis.

Bonne journée
 

Pièces jointes

  • Cycle(1) .xls
    78.5 KB · Affichages: 43

Victor21

XLDnaute Barbatruc
Re : Cycle hebdomadaire

Bonjour à tous.

Un essai à compléter avec mod() et un format personnalisé en pj :
 

Pièces jointes

  • Cycle en test_1.xls
    128.5 KB · Affichages: 43
  • Cycle en test_1.xls
    128.5 KB · Affichages: 46
  • Cycle en test_1.xls
    128.5 KB · Affichages: 44

Discussions similaires

Réponses
5
Affichages
242

Statistiques des forums

Discussions
312 330
Messages
2 087 349
Membres
103 526
dernier inscrit
HEC