{"text_format":"1","workbook":"xlsx","n_sheets":3,"sheets":["Chantiers","Jours fériés","Mode d'emploi"],"not_rendered":{"charts":0,"images":1,"macros":1,"external_links":0,"defined_names":2,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Chantiers","index":0,"n_rows":20,"n_cols":4,"rows_kept":20,"cut":false,"hidden":false,"merged":[]}
["CALCUL DATE FIN DE CHANTIER"]
["CHANTIERS","Date début","Nbre de jours chantiers","Dates fin de chantier"]
["chantier 1","2016-12-24",30,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B3,Chantiers!$C3,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":"2017-02-03"}]
["chantier 2","2017-02-06",1,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B4,Chantiers!$C4,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":"2017-02-07"}]
["chantier 3","2017-02-05",1,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B5,Chantiers!$C5,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":"2017-02-07"}]
["chantier 4","2017-03-06",365,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B6,Chantiers!$C6,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":"2018-08-10"}]
["chantier 5","2017-04-01",20,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B7,Chantiers!$C7,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":"2017-04-28"}]
["chantier 6",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B8,Chantiers!$C8,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 7",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B9,Chantiers!$C9,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 8",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B10,Chantiers!$C10,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 9",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B11,Chantiers!$C11,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 10",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B12,Chantiers!$C12,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 11",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B13,Chantiers!$C13,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 12",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B14,Chantiers!$C14,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 13",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B15,Chantiers!$C15,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 14",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B16,Chantiers!$C16,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 15",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B17,Chantiers!$C17,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 16",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B18,Chantiers!$C18,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 17",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B19,Chantiers!$C19,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]
["chantier 18",null,null,{"$f":"IFERROR(SERIEJOUROUVRE('Jours fériés'!$C$7:$C$51,Chantiers!$B20,Chantiers!$C20,'Jours fériés'!$C$4,'Jours fériés'!$D$4:$J$4),\" \"&\" \")","v":""}]

{"sheet":"Jours fériés","index":1,"n_rows":47,"n_cols":10,"rows_kept":47,"cut":false,"hidden":false,"merged":[[6,0,20,0],[21,0,35,0],[36,0,50,0],[1,3,1,9]]}
[null,"Année:",2017,"PAYS :","France"]
[null,null,null,"DETERMINATION JOURS SEMAINE : JT=0 / 1JR=2 / 2 JR=1"]
[null,null,null,"Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"]
[null,"En considérant le LUNDI comme étant le premier jour de la semaine, encodez le numéro du premier jours non travaillés :",7,{"$f":"IF($C$4=COLUMN()-3,2,IF(AND(COLUMN()-3=1,$C$4=7),1,0))","v":1},{"$f":"IF($C$4=COLUMN()-3,2,IF(AND(COLUMN()-3=1,$C$4=7),1,IF(D4=2,1,0)))","v":0},0,0,0,0,2]
[null,"JOURS FERIES"]
[null,"Evènements","Date"]
[{"$f":"An_ref-1","v":2016},"Jour de l’An",{"$f":"DATE($A7,1,1)","v":"2016-01-01"}]
[null,"Lundi de Pâques",{"$f":"(ROUND(DATE(A7,4,1)/7+MOD(19*MOD($A7,19)-7,30)*14%,0)*7-6)+1","v":"2016-03-28"}]
[null,"Fête du travail",{"$f":"DATE($A7,5,1)","v":"2016-05-01"}]
[null,{"$f":"IF($E$1=\"France\",\"Armistice 40/45\",\"Réservé pour la France\")","v":"Armistice 40/45"},{"$f":"IF($E$1=\"France\",DATE($A7,5,8),\"\")","v":"2016-05-08"}]
[null,"Ascension",{"$f":"C8-1+39","v":"2016-05-05"}]
[null,"Lundi de la Pentecôte",{"$f":"C8+49","v":"2016-05-16"}]
[null,"Fête nationale",{"$f":"IF($E$1=\"Belgique\",DATE($A7,7,21),DATE($A7,7,14))","v":"2016-07-14"}]
[null,"Assomption",{"$f":"DATE($A7,8,15)","v":"2016-08-15"}]
[null,"Toussaint",{"$f":"DATE($A7,11,1)","v":"2016-11-01"}]
[null,"Armistice 14/18",{"$f":"DATE($A7,11,11)","v":"2016-11-11"}]
[null,"Noël",{"$f":"DATE($A7,12,25)","v":"2016-12-25"}]
[]
[]
[]
[]
[{"$f":"An_ref","v":2017},"Jour de l’An",{"$f":"DATE($A22,1,1)","v":"2017-01-01"}]
[null,"Lundi de Pâques",{"$f":"(ROUND(DATE(A22,4,1)/7+MOD(19*MOD($A22,19)-7,30)*14%,0)*7-6)+1","v":"2017-04-17"}]
[null,"Fête du travail",{"$f":"DATE($A22,5,1)","v":"2017-05-01"}]
[null,{"$f":"IF(E1=\"France\",\"Armistice 40/45\",\"Réservé pour la France\")","v":"Armistice 40/45"},{"$f":"IF($E$1=\"France\",DATE($A22,5,8),\"\")","v":"2017-05-08"}]
[null,"Ascension",{"$f":"C23-1+39","v":"2017-05-25"}]
[null,"Lundi de la Pentecôte",{"$f":"C23+49","v":"2017-06-05"}]
[null,"Fête nationale",{"$f":"IF($E$1=\"Belgique\",DATE($A22,7,21),DATE($A22,7,14))","v":"2017-07-14"}]
[null,"Assomption",{"$f":"DATE($A22,8,15)","v":"2017-08-15"}]
[null,"Toussaint",{"$f":"DATE($A22,11,1)","v":"2017-11-01"}]
[null,"Armistice 14/18",{"$f":"DATE($A22,11,11)","v":"2017-11-11"}]
[null,"Noël",{"$f":"DATE($A22,12,25)","v":"2017-12-25"}]
[null,null,null,null,{"$f":"IFERROR(LARGE($C$22:$C$36,ROW()-2),\"\")","v":""}]
[null,null,null,null,{"$f":"IFERROR(LARGE($C$22:$C$36,ROW()-2),\"\")","v":""}]
[null,null,null,null,{"$f":"IFERROR(LARGE($C$22:$C$36,ROW()-2),\"\")","v":""}]
[null,null,null,null,{"$f":"IFERROR(LARGE($C$22:$C$36,ROW()-2),\"\")","v":""}]
[{"$f":"An_ref+1","v":2018},"Jour de l’An",{"$f":"DATE($A37,1,1)","v":"2018-01-01"}]
[null,"Lundi de Pâques",{"$f":"(ROUND(DATE($A37,4,1)/7+MOD(19*MOD($A37,19)-7,30)*14%,0)*7-6)+1","v":"2018-04-02"}]
[null,"Fête du travail",{"$f":"DATE($A37,5,1)","v":"2018-05-01"}]
[null,{"$f":"IF(E18=\"France\",\"Armistice 40/45\",\"Réservé pour la France\")","v":"Réservé pour la France"},{"$f":"IF($E$1=\"France\",DATE($A37,5,8),\"\")","v":"2018-05-08"}]
[null,"Ascension",{"$f":"C38-1+39","v":"2018-05-10"}]
[null,"Lundi de la Pentecôte",{"$f":"C38+49","v":"2018-05-21"}]
[null,"Fête nationale",{"$f":"IF($E$1=\"Belgique\",DATE($A37,7,21),DATE($A37,7,14))","v":"2018-07-14"}]
[null,"Assomption",{"$f":"DATE($A37,8,15)","v":"2018-08-15"}]
[null,"Toussaint",{"$f":"DATE($A37,11,1)","v":"2018-11-01"}]
[null,"Armistice 14/18",{"$f":"DATE($A37,11,11)","v":"2018-11-11"}]
[null,"Noël",{"$f":"DATE($A37,12,25)","v":"2018-12-25"}]

{"sheet":"Mode d'emploi","index":2,"n_rows":41,"n_cols":2,"rows_kept":41,"cut":false,"hidden":false,"merged":[[0,0,0,1]]}
["MODE D'EMPLOI"]
[1,"Précisez dans l'onglet \"Jours fériés\" :\n- dans la cellule B1 l'année désirée càd l'année en cours - le tableur calculera l'a-1 et l'an+1 également\n- dans la cellule D1 le pays désiré (Belgique ou France)\n- dans la cellule C4 le numéro de la semaine pour le premier jour de repos en considérant que le premier jour de la semaine est le lundi"]
[2,"Les jours fériés s'affichent dans l'onglet \"Jours fériés\" pour l'année -1 ; l'année en cours et  l'année +1"]
[3,"Le calcul est basé sur l'algorithme de Butcher (voir les explications sur internet)"]
[4,"Il est possible d'ajouter 4 jours \"fériés\" personnalisables (en Belgique, compensation des jours fériés tombant un jour de repos) ou pour des jours à la discretion de l'employeur."]
[5,"Le tableur établit une table des jours ouvrés et jours de repos pour la semaine (C4 à J4).  Il calcule le nombre de jours à ajouter aux nombre de jours ouvrés chantier (0 si jours ouvrés ; 1 si jour de repos 2 et 2 si jour de repos 1"]
[6,"Compléter dans l'onglet Chantiers les colonnes A ; B et C"]
[7,"Nous voilà parer pour calculer en colonne D la date de fin de chantier grâce à la fonction personnalisée :"]
[null,"SERIEJOUROUVRE(Plage_Féries;D_DEPART;NBRE_JOURS;J_REPOS1;Plage_J_N_TRAV)"]
[null,"COMMENT CELA MARCHE"]
[null,"La colonne D contient une fonction personnalisée"]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[null,"Nous l'implantons en D3.  Ensuite, il suffit de dupliquer la fonction par \"tirage\" de la cellule D3 à la cellule D20 (ou  plus si nécessaire)"]
[null,"Attention en insérant la fonction : bien respecter les $ qui détermineront si la cellule concernée est relative ou pas"]
[null,"Qu'est ce qu'une \"Fontion personnalisée\" ?"]
[null,"Il s'agit d'un programme VBA que l'on implante dans un module (ici le Module1) et qui permet de gérer les calculs et tests nécessaires pour déterminer la date de fin de chantier.  J'ai documenté le programme pour faciliter la compréhension.  Il est naturellement nécessaire de connaître un minimum de programmation en VBA pour comprendre comment cela marche.  Toutefois, ce n'est pas nécessaire dans l'utilisation courante : il suffit de compléter les informations demandées comme pour toutes les fonctions.  Il n'y a pas possibilité d'ajouter une Aide sur cette fonction c'est pourquoi j'ai rédigé un texte qui précise ce qu'elle fait et j'ai mis des noms de champs le plus expressif possible.  Cette fonctions peut être implantée dans tout classeur à conditions soit de recopier le module1 dans un module d'un autre classeur et de pouvoir trouver tous les éléments requis soit en l'appelant dans le nouveau classeur en faisant précéder son nom par le nom du classeur dans lequel le module se trouve.  Toutes ces explications pour permettre un usage universel de cette fonction mais pour le cas précis actuel : TOUT EST PARAMETRE et il n'y a donc rien à faire de plus (sauf la dupliquer plus bas que D20 si nécessaire"]
[]
[]
[" ","Les onglets sont protégés sans mot de passe pour éviter les maladresses"]