Calendrier scolaire perpétuel

sabledo

XLDnaute Nouveau
Bonjour,

Je suis totalement débutante sur excel. je veux créer un calendrier scolaire perpétuel (septembre à aout), je souhaite qu'en fonction de l'année saisie le 29 février apparaisse dans le calendrier uniquement si l'année est bissextile
Pouvez vous me dire pourquoi la formule en L 30 =SI(MOIS(DATE($A$1;COLONNE()+2;LIGNE()-1))=6;DATE($A$1;COLONNE()+2;LIGNE()-1);"") ne fonctionne pas
Quelle formule faudrait il?

Ci joint mon fichier




Merci de votre aide
 

Pièces jointes

  • Calendrier Scolaire.xlsx
    18.8 KB · Affichages: 84
  • Calendrier Scolaire.xlsx
    18.8 KB · Affichages: 72
  • Calendrier Scolaire.xlsx
    18.8 KB · Affichages: 70

ROGER2327

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Bonjour à tous.


Sur la base du travail de JCGL dans le fil parallèle, une variation, avec d'autres formules (le 9 mars 2014 n'est pas un samedi !) et une simplification du calcul de la date de Pâques.​


Bon dimanche.


ℝOGER2327
#7198


Dimanche 15 Pédale 141 (Saints Adelphes, esotéristes - fête Suprême Tierce)
19 Ventôse An CCXXII, 1,8375h - cerfeuil
2014-W10-7T04:24:36Z
 

Pièces jointes

  • JC Calendrier Pérenne (2).xlsx
    25.6 KB · Affichages: 95

david84

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Bonjour à tous,
j'avais produit un calendrier fait uniquement à partir de formules et qui peut être utilisé soit sur l'année civile soit sur l'année scolaire (ou tout autre période de 12 mois), avec la possibilité de personnaliser notamment la zone géographique des vacances scolaires.
Je viens de l'actualiser.
Il est disponible ici (choisir le fichier intitulé Calendrier_dynamiqueXld_David84_v2.xls)
A+
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Bonjour à tous.
Re...


Bonjour à tous,
j'avais produit un calendrier fait uniquement à partir de formules et qui peut être utilisé soit sur l'année civile soit sur l'année scolaire (ou tout autre période de 12 mois), avec la possibilité de personnaliser notamment la zone géographique des vacances scolaires.
Je viens de l'actualiser.
Il est disponible ici (choisir le fichier intitulé Calendrier_dynamiqueXld_David84_v2.xls, le 2ème en partant du haut)
A+
Joli travail !
Puisque vous me faites l'honneur d'avoir retenu ma proposition pour le calcul de la date de Pâques, au lieu de :​
Code:
=DATE(Année;3;28+ENT(ENT(MOD(19*MOD(Année;19)+ENT(Année/100)-ENT(ENT(Année/100)/4)-ENT((8*ENT(Année/100)+13)/25)+15;30)/28*ENT(29/(MOD(19*MOD(Année;19)+ENT(Année/100)-ENT(ENT(Année/100)/4)-ENT((8*ENT(Année/100)+13)/25)+15;30)+1))*ENT((21-MOD(Année;19))/11)-1)*ENT(MOD(19*MOD(Année;19)+ENT(Année/100)-ENT(ENT(Année/100)/4)-ENT((8*ENT(Année/100)+13)/25)+15;30)/28)+MOD(19*MOD(Année;19)+ENT(Année/100)-ENT(ENT(Année/100)/4)-ENT((8*ENT(Année/100)+13)/25)+15;30)))-MOD(ENT(ENT(Année/4)+Année)+ENT((ENT(MOD(19*MOD(Année;19)+ENT(Année/100)-ENT(ENT(Année/100)/4)-ENT((8*ENT(Année/100)+13)/25)+15;30))/28*ENT(29/(MOD(19*MOD(Année;19)+ENT(GAUCHE($D$1;4)/100)-ENT(ENT(Année/100)/4)-ENT((8*(ENT(Année/100))+13)/25)+15;30)+1))*ENT((21-MOD(Année;19))/11)-1)*ENT(MOD(19*MOD(Année;19)+ENT(Année/100)-ENT(ENT(Année/100)/4)-ENT((8*ENT(Année/100)+13)/25)+15;30)/28)+MOD(19*MOD(Année;19)+ENT(Année/100)-ENT(ENT(Année/100)/4)-ENT((8*ENT(Année/100)+13)/25)+15;30))+2+ENT(ENT(Année/100)/4)-ENT(Année/100);7)
(984 caractères, 975 en remplaçant GAUCHE($D$1;4) par Année), je vous propose une autre formule en D3 de l'onglet Liste du classeur Calendrier_dynamiqueXld_David84_v2-1.xls :​
Code:
=--(TEXTE(DATE(1900;4;26-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544)-MOD(MOD(50-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544);7)+MOD(MOD(9-2*MOD(ENT(Année/100);4);7)+MOD(Année;100)+ENT(MOD(Année;100)/4);7);7));"jj-mm-")&Année)
(580 caractères).

Cette formule est dérivée de l'algorithme de J.H.Conway, plus "économique" que celui de J.M.Oudin.
Les deux formules donnent le même résultat pour Année de 1900 à 9999.​


Bonne journée.


ℝOGER2327
#7199


Dimanche 15 Pédale 141 (Saints Adelphes, esotéristes - fête Suprême Tierce)
19 Ventôse An CCXXII, 4,8201h - cerfeuil
2014-W10-7T11:34:06Z
 

david84

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Merci Roger,
j'ai modifié le fichier en remplaçant l'ancienne formule par celle communiquée ci-dessus.
Si vous voyez autre chose ou avez des idées d'amélioration, n'hésitez pas.
A+
 

ROGER2327

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Suite...


Je me suis un peu emmêlé les pinceaux tout à l'heure. La formule proposée fonctionne (au moins le crois-je) mais elle est trop longue.
En fait, je suis parti d'une formule que j'ai établie pour calculer les dates de Pâques depuis 1583. Comme Excel ne connait pas de date antérieure à 1900, j'ai calculé ces dates sous forme de texte avec :​
Code:
=TEXTE(DATE(1900;4;26-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544)-MOD(MOD(50-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544);7)+MOD(MOD(9-2*MOD(ENT(Année/100);4);7)+MOD(Année;100)+ENT(MOD(Année;100)/4);7);7));"jj-mm-")&Année
(576 caractères).

Dans le cas qui nous occupe, on ne traite que des dates postérieures au 1[SUP]er[/SUP] janvier 1900. On peut employer cette formule :​
Code:
=DATE(Année;4;26-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544)-MOD(MOD(50-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544);7)+MOD(MOD(9-2*MOD(ENT(Année/100);4);7)+MOD(Année;100)+ENT(MOD(Année;100)/4);7);7))
(555 caractères).

En espérant ne pas avoir à rectifier dans une heure...​



ℝOGER2327
#7200


Dimanche 15 Pédale 141 (Saints Adelphes, esotéristes - fête Suprême Tierce)
19 Ventôse An CCXXII, 7,8652h - cerfeuil
2014-W10-7T18:52:35Z
 

Pièces jointes

  • Date de Pâques.xls
    40 KB · Affichages: 72

sourcier08

XLDnaute Occasionnel
Re : Calendrier scolaire perpétuel

Salut ROGER2327, david84, Modeste geedee, Sabledo, le forum.

Pour ce qui est d'après 1900, on peut utiliser plus compacte comme formule pour calculer le Dimanche de Pâques :

Code:
=PLANCHER(DATE(ANNEE(AUJOURDHUI());5;JOUR(MINUTE(ANNEE(AUJOURDHUI())/38)/2+56));7)-34

On peut placer l'année dans une cellule et remplacer "ANNEE(AUJOURDHUI())" par la cellule cible.
C'est la formule la plus courte que j'ai réussi à pondre, en 2002, si mes souvenirs sont bons. C'était la première fois que je découvrais la fonction PLANCHER et j'ai du me poser dessus environ 2 semaines pour arriver au résultat. Enfin, je suis obstiné et j'ai vu le potentiel de la fonction alors j'ai fait fumer mon cerveau très longtemps pour y arriver. Je refuse l'échec. ^^

Ne pas oublier de mettre le format de la cellule contenant la formule en date.
Et pour obtenir le Lundi de Pâques, on remplace "-34" par "-33".



Bonne nuit à tous !
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Re...



Salut ROGER2327, david84, Modeste geedee, Sabledo, le forum.

Pour ce qui est d'après 1900, on peut utiliser plus compacte comme formule pour calculer le Dimanche de Pâques :

Code:
=PLANCHER(DATE(ANNEE(AUJOURDHUI());5;JOUR(MINUTE(ANNEE(AUJOURDHUI())/38)/2+56));7)-34

On peut placer l'année dans une cellule et remplacer "ANNEE(AUJOURDHUI())" par la cellule cible.
C'est la formule la plus courte que j'ai réussi à pondre, en 2002, si mes souvenirs sont bons. C'était la première fois que je découvrais la fonction PLANCHER et j'ai du me poser dessus environ 2 semaines pour arriver au résultat. Enfin, je suis obstiné et j'ai vu le potentiel de la fonction alors j'ai fait fumer mon cerveau très longtemps pour y arriver. Je refuse l'échec. ^^

Ne pas oublier de mettre le format de la cellule contenant la formule en date.
Et pour obtenir le Lundi de Pâques, on remplace "-34" par "-33".



Bonne nuit à tous !
Excellent !
Cette formule a le mérite de n'être fausse qu'un peu plus de 7 fois sur 10 de 1900 à 9999.
Mais, chance, elle fonctionne de 1900 à 2078.
Comme celles-là :​
Code:
=FRANC((JOUR(MINUTE(ANNEE(AUJOURDHUI())/38)/2+55)&"/4/"&ANNEE(AUJOURDHUI()))/7;)*7-6
(dans les versions d'Excel qui reconnaissent la fonction FRANC)

Code:
=ARRONDI((JOUR(MINUTE(ANNEE(AUJOURDHUI())/38)/2+55)&"/4/"&ANNEE(AUJOURDHUI()))/7;0)*7-6
ou cette autre, valable de 1900 à 2203 :​
Code:
=DATE(ANNEE(AUJOURDHUI());3;2956/100+979/1000*MOD(204-11*MOD(ANNEE(AUJOURDHUI());19);30)-JOURSEM(DATE(ANNEE(AUJOURDHUI());3;2856/100+979/1000*MOD(204-11*MOD(ANNEE(AUJOURDHUI());19);30))))
On a le temps de voir venir...


On peut évidemment utiliser de telles formules à condition de dire leur domaine de validité, mais on ne peut certainement pas les présenter comme étant des formules donnant la date de Pâques à partir de 1900 sans plus de précision.​


Bonne nuit.


ℝOGER2327
#7201


Dimanche 15 Pédale 141 (Saints Adelphes, esotéristes - fête Suprême Tierce)
19 Ventôse An CCXXII, 9,3905h - cerfeuil
2014-W10-7T22:32:14Z
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Bonsour®
Salut ROGER2327, david84, Modeste geedee, Sabledo, le forum.

Pour ce qui est d'après 1900, on peut utiliser plus compacte comme formule pour calculer le Dimanche de Pâques :
Code:
=PLANCHER(DATE(ANNEE(AUJOURDHUI());5;JOUR(MINUTE(ANNEE(AUJOURDHUI())/38)/2+56));7)-34


;) s'il s'agit de plus court...
alors comme dit Roger : juste par amour de l'Art,
Code:
=PLANCHER(JOUR(MINUTE(An/38)/2+56)&"/5/"&An;7)-34
Code:
=FRANC((JOUR(MINUTE(An/38)/2+55)&"/4/"&An)/7;)*7-6

j'ai une préférence pour celle-ci :
Code:
=TRONQUE(DATE(An;7;-CODE(STXT("NYdQ\JT_LWbOZeR]KU`";MOD(An;19)+1;1)))/7)*7+8
cf : Prasad DV

la variable An contient l'année souhaitée
limitation :[1900;2200]


issu de Excel | VBA | Excel-Funktionen | Excel-Makros | Auftrags-Programmierung | Forum
 

sourcier08

XLDnaute Occasionnel
Re : Calendrier scolaire perpétuel

Re...

Excellent !
Cette formule a le mérite de n'être fausse qu'un peu plus de 7 fois sur 10 de 1900 à 9999.
Mais, chance, elle fonctionne de 1900 à 2078.

Arf ! Je me suis cassé la tête pour rien. Pour moi, ça va mais mes enfants n'aimeront pas.
Enfin, pas vraiment, grâce à cette erreur, j'ai eu loisir de recevoir d'autres possibilités, aussi courtes, qui fonctionneront après mon décès.
D'ici là, on aura peut-être, dans Excel 2054, la fonction "DIM_PAQUES" :)


Modeste geedee, je comprends ta préférence mais d'où on nous pond des trucs comme : NYdQ\JT_LWbOZeR]KU` ??? J'avoue que je n'aurais jamais trouver celle-là.
 

ROGER2327

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Suite...



Amusante utilisation d'une chaîne de caractères, Modeste geedee.
VB:
=TRONQUE(DATE(An;7;-CODE(STXT("NYdQ\JT_LWbOZeR]KU`";MOD(An;19)+1;1)))/7)*7+8

Variantes :
VB:
=TRONQUE(DATE(An;7;-CODE(STXT("GR]JUCMXEP[HS^KVDNY";MOD(An;19)+1;1)))/7)*7+1
VB:
=TRONQUE(DATE(An;8;-CODE(STXT("fq|itblwdozgr}jucmx";MOD(An;19)+1;1)))/7)*7+1
Simplifions !


  • On peut remplacer TRONQUE par ENT puisque, la formule n'étant pas valable avant 1900, DATE renvoie un nombre positif.
  • On peut se débrouiller avec une autre chaîne de caractères pour faire que le signe moins devant CODE soit inutile.

VB:
=ENT(DATE(An;3;CODE(STXT(":/$7,>4)<1&9.#6+=3(";MOD(An;19)+1;1)))/7)*7-6
(cinq caractères en moins)


Plus long, mais moins ésotérique :
VB:
=ENT(DATE(An;4;CHOISIR(MOD(An;19)+1;20;9;-2;17;6;24;14;3;22;11;;19;8;-3;16;5;23;13;2))/7)*7+1

Domaine de validité des cinq formules : 1900 à 2203, ce qui nous laisse une courte marge...


Pour faire encore plus court (valable de 1583 à perpète) :
VB:
=DIMANCHEDEPAQUES(An)
... mais il faut investir dans LibreOffice...


Bonne nuit.


ℝOGER2327
#7202


Mardi 17 Pédale 141 (Saint Dricarpe, prosélyte - fête Suprême Quarte)
21 Ventôse An CCXXII, 1,3932h - mandragore
2014-W11-2T03:20:37Z
 

david84

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Suite...


Je me suis un peu emmêlé les pinceaux tout à l'heure. La formule proposée fonctionne (au moins le crois-je) mais elle est trop longue.
En fait, je suis parti d'une formule que j'ai établie pour calculer les dates de Pâques depuis 1583. Comme Excel ne connait pas de date antérieure à 1900, j'ai calculé ces dates sous forme de texte avec :​
Code:
=TEXTE(DATE(1900;4;26-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544)-MOD(MOD(50-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544);7)+MOD(MOD(9-2*MOD(ENT(Année/100);4);7)+MOD(Année;100)+ENT(MOD(Année;100)/4);7);7));"jj-mm-")&Année
(576 caractères).

Dans le cas qui nous occupe, on ne traite que des dates postérieures au 1[SUP]er[/SUP] janvier 1900. On peut employer cette formule :​
Code:
=DATE(Année;4;26-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544)-MOD(MOD(50-MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)-ENT((552-19*MOD(11*MOD(Année;19)+ENT(ENT(Année/100)/4)+ENT(8*(ENT(Année/100)+11)/25)-ENT(Année/100)+41;30)+MOD(Année;19))/544);7)+MOD(MOD(9-2*MOD(ENT(Année/100);4);7)+MOD(Année;100)+ENT(MOD(Année;100)/4);7);7))
(555 caractères).

En espérant ne pas avoir à rectifier dans une heure...​



ℝOGER2327
#7200


Dimanche 15 Pédale 141 (Saints Adelphes, esotéristes - fête Suprême Tierce)
19 Ventôse An CCXXII, 7,8652h - cerfeuil
2014-W10-7T18:52:35Z

Oui Roger j'avais noté cela lorsque j'avais étudié votre formule mais peut-être est-il préférable de rester sur votre proposition du message #5 car il se peut que celle-ci puisse être utilisée par d'autres dans le cadre d'un calendrier perpétuel (comme c'est d'ailleurs le cas dans l'intitulé de ce fil) qui peut, dans l'absolu concerner également les dates antérieures à l'année 1900.
Merci de votre contribution !
A+
 

Victor21

XLDnaute Barbatruc
Re : Calendrier scolaire perpétuel

Bonjour, lézamis.

Une autre, utilisable avec Excel à partir de 1900, (avec l'algorithme grégorien de Aloysius Lilius et Christophorus Clavius - Je ne l'ai pas optimisé - valable à/c de 1583 )
L'année en A1 :
=DATE(A1;3;1)-1
+30*(44-MOD(MOD((11*(MOD(A1;19)+1))+20+ENT(((ENT(A1/100)+1)*8+5)/25)-5-(ENT((ENT(A1/100)+1)*3/4)-12);30)+30;30)<21)+44-MOD(MOD((11*(MOD(A1;19)+1))+20+ENT(((ENT(A1/100)+1)*8+5)/25)-5-(ENT((ENT(A1/100)+1)*3/4)-12);30)+30;30)+7-MOD(ENT(A1*5/4)-10-(ENT((ENT(A1/100)+1)*3/4)-12)+30*(44-MOD(MOD((11*(MOD(A1;19)+1))+20+ENT(((ENT(A1/100)+1)*8+5)/25)-5-(ENT((ENT(A1/100)+1)*3/4)-12);30)+30;30)<21)+44-MOD(MOD((11*(MOD(A1;19)+1))+20+ENT(((ENT(A1/100)+1)*8+5)/25)-5-(ENT((ENT(A1/100)+1)*3/4)-12);30)+30;30);7)
 

Pièces jointes

  • Date de Pâques_1.xls
    43 KB · Affichages: 53

Discussions similaires

Statistiques des forums

Discussions
312 309
Messages
2 087 108
Membres
103 472
dernier inscrit
garnoux57