{"text_format":"1","workbook":"xlsx","n_sheets":2,"sheets":["labyrinthe","Aide"],"not_rendered":{"charts":0,"images":3,"macros":1,"external_links":2,"defined_names":8,"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":"labyrinthe","index":0,"n_rows":115,"n_cols":35,"rows_kept":115,"cut":false,"hidden":false,"merged":[]}
[]
[null,null,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]
[null,null,-1,1,1,1,1,1,-1,{"$f":"J4-1","v":23},24,25,26,27,28,29,30,30,30,30,29,28,27,26,25,-1,{"$f":"AA4-1","v":56},56,57,58,59,60,{"$f":"AF3","v":60},60,-1]
[null,null,-1,{"$f":"D3+1","v":2},{"$f":"E3+1","v":2},2,2,2,-1,24,25,26,27,28,29,30,31,31,31,31,30,29,28,27,26,-1,57,57,58,59,60,61,61,61,-1]
[null,null,-1,{"$f":"D4+1","v":3},3,3,3,3,-1,25,26,27,28,29,30,31,32,32,32,32,31,30,29,28,27,-1,{"$f":"AB5","v":58},{"$f":"AB6+1","v":58},{"$f":"AB5+1","v":59},{"$f":"AC5+1","v":60},{"$f":"AD5+1","v":61},{"$f":"AE5+1","v":62},62,62,-1]
[null,null,-1,4,4,4,4,4,-1,26,27,28,29,30,31,32,33,33,33,33,32,31,30,29,28,-1,57,57,{"$f":"AB6","v":57},{"$f":"AC6+1","v":58},{"$f":"AD6+1","v":59},{"$f":"AF5+1","v":63},63,63,-1]
[null,null,-1,5,5,5,5,5,-1,{"$f":"K7-1","v":27},{"$f":"K8+1","v":28},{"$f":"K7+1","v":29},{"$f":"L7+1","v":30},31,32,33,34,{"$f":"Q7","v":34},34,34,{"$f":"T7-1","v":33},32,31,30,29,-1,56,56,56,{"$f":"AC7+1","v":57},{"$f":"AD7+1","v":58},{"$f":"AF6+1","v":64},64,64,-1]
[null,null,-1,6,6,6,6,6,-1,{"$f":"K8-1","v":26},27,{"$f":"L7-1","v":28},{"$f":"M7-1","v":29},-1,{"$f":"O7+1","v":33},34,{"$f":"Q7+1","v":35},35,35,35,34,33,32,31,30,-1,55,55,55,-1,{"$f":"AF8","v":65},65,65,65,-1]
[null,null,-1,7,7,7,7,7,-1,25,26,{"$f":"L8-1","v":27},28,-1,{"$f":"O8+1","v":34},35,{"$f":"Q8+1","v":36},36,36,36,35,34,33,32,31,-1,54,54,54,-1,{"$f":"AF9","v":66},66,66,66,-1]
[null,null,-1,8,8,8,8,8,-1,24,25,26,27,-1,35,36,37,37,37,37,36,35,34,33,32,-1,53,53,53,-1,67,67,67,67,-1]
[null,null,-1,9,9,9,9,9,-1,23,24,25,26,-1,36,37,38,38,38,38,37,36,35,34,33,-1,52,52,52,-1,68,68,68,68,-1]
[null,null,-1,10,10,10,10,10,-1,22,23,24,25,-1,37,38,39,39,39,39,-1,-1,-1,-1,-1,-1,{"$f":"AB12","v":51},51,51,-1,69,69,69,69,-1]
[null,null,-1,11,11,11,11,11,-1,21,22,23,24,-1,38,39,40,40,40,40,{"$f":"T13+1","v":41},42,-1,44,45,46,47,50,50,-1,70,70,70,70,-1]
[null,null,-1,12,12,12,12,12,-1,20,21,22,23,-1,39,40,41,41,41,41,42,43,-1,44,45,46,47,{"$f":"AB15+1","v":49},49,-1,71,71,71,71,-1]
[null,null,-1,13,13,13,13,13,-1,19,20,21,22,-1,{"$f":"O14-1","v":38},39,40,40,40,40,41,42,43,44,45,46,47,{"$f":"AA15+1","v":48},{"$f":"AB15","v":48},-1,72,72,72,72,-1]
[null,null,-1,14,14,14,14,14,-1,18,{"$f":"K17+1","v":19},20,21,-1,{"$f":"O15-1","v":37},38,39,39,39,39,40,41,42,43,44,45,46,47,47,-1,73,73,73,73,-1]
[null,null,-1,15,15,15,15,15,{"$f":"H17+1","v":16},{"$f":"I17+1","v":17},{"$f":"J17+1","v":18},19,20,-1,{"$f":"O16-1","v":36},37,38,38,38,38,39,40,41,42,43,44,45,46,46,-1,74,74,74,74,-1]
[null,null,-1,16,16,16,16,16,{"$f":"I17+1","v":17},{"$f":"J17+1","v":18},19,18,19,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,75,75,75,75,-1]
[null,null,-1,{"$f":"D18-1","v":15},15,15,15,15,{"$f":"I18+1","v":18},19,20,17,18,-1,{"$f":"P19+1","v":92},91,90,89,88,87,86,85,84,83,82,81,80,79,78,{"$f":"AE19+1","v":77},76,76,{"$f":"AF19","v":76},76,-1]
[null,null,-1,14,14,14,14,14,19,20,21,16,17,-1,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,{"$f":"AE20+1","v":78},77,77,77,77,-1]
[null,null,-1,13,13,13,13,13,{"$f":"H21+1","v":14},{"$f":"I21+1","v":15},{"$f":"J21+1","v":16},15,16,-1,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,{"$f":"AE21+1","v":80},{"$f":"AF21+1","v":79},{"$f":"AF20+1","v":78},78,78,-1]
[null,null,-1,12,12,12,12,12,15,{"$f":"J21-1","v":14},15,14,15,-1,{"$f":"O21-1","v":94},93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,77,77,-1]
[null,null,-1,11,11,11,11,11,12,13,14,13,14,-1,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,76,76,-1]
[null,null,-1,10,10,10,10,10,11,12,13,12,13,-1,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,75,75,-1]
[null,null,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]
[]
[]
[]
[]
[null,null,null,null,null,null,null,null,"nb boucles",null,34]
[]
[]
[]
[]
[]
[null,null,null,42,"BHDBDBGBGBBDBBGGHGGGGBDDDGGDDGHHBHGBBHDHBBGBDDGBGBHGBGBHDDBGDDBGGGDDBDDDHHHHDHGGHHHHHDHHDHDDHDDDBBBBDDDDBBBD"]
[null,null,null,42,"DDDBDBBBBBDBBBGGGGBGDBBDGGDDDGHHHHHGBHDDGBDDDDDGBBBHGBGGHDDDBDBGGGDBDDDDDDHHDHGDDDDHHHHDDHDHHDDDBBBBDBBBDDDD"]
[null,null,null,42,"DBDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHHGBDDDGHBGBHHBGGHDDDBBBBDGDDBBBDHHDDHGDDDDDHHHHHHHHHDDHBDBBBDBBDDBDDD"]
[null,null,null,42,"DBBGGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHGBDBDDGHHBBHHBGGGDDDDBBBBGBDDBBBDHHDDHGDDDDDHHHHHHHHHDDDBDDBBBDBDBDDGD"]
[null,null,null,42,"DBBDBGBGBBDBBGGGGGDGBBDDGGDDGHHBHGBHDHGBBGBDDDHBGBHHBGBHDDBGBDGGGDDDBDDDHHDDHGDDHHHHHDHHHDHDDDBBBBBDDBDBBDDD"]
[null,null,null,42,"DBBDBGBGBBDBBGGGGGDGBBDDGGDDGHHBHGBHDHGBBGBDDDHBGBHHBGBHDDBGBDGGGDDDBDDDHHDDHGDDHHHHHDHDHHDHDDDBBBBBDDBDBBDD"]
[null,null,null,42,"BHDBDGBGBBDBBBGGHGGGDGBDDGGDDGHHBHGBBHDHBBGBDDDGBGBHGBGBHDBGDBGGGGBDDDDDDDHDDHGDHHHHHDDDDHDHHDDBBBBDDBDDBDDD"]
[null,null,null,41,"HDDBGBGBDBBBGGHGGDGBDDDGGDDGHHBHGBBHDHBBBGBDDDGBGBHGBGBHDDBGDDBGGGDDBBDDDHHHDHGGDHHHHHDHDHHDHHDDBBBBBDDGDBBB"]
[null,null,null,41,"HDBDBGBGBDBBBGGHGGDGBDDDGGDDGHHBHGBBHDHBBBGBDDDGBGBHGBGBHDDBGDDGGGDDBBDDDHHHDHGGDHHHHHDHDHHDHHDDBBBBBDDGDBBB"]
[null,null,null,41,"BBDBDBBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDGHGBBHHGGGHDDDDBBBDGBDBBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBBDG"]
[null,null,null,41,"BBDBDBGBBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHDHGBBGBDDDGHGBBHHGGGHDDDDBBDGBDBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBBHB"]
[null,null,null,41,"DHBBGBBBGBBBBBGGHGBGGBDDDGGDDGHHGHGDBHDHGBDBDDDBGBHHBGBHDDBGDBDGBDDBBDDDHDHHGDDGHHHHHDHHDHDDDDDBBBBBBDDDGDDG"]
[null,null,null,41,"HDBDBGBGBDBBBGHGGDGBDDGGDDGHHBHGBBHDHBBBGBDDDGBGBHGBGBHDDBGDDBGGGDDBDDDHHHDHGGDHHHHHDHDHHDHHDDBBBBBDDGDBBDBG"]
[null,null,null,41,"DDBBGGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHGBDBDDGHHBBHHBGGGDDDDBBBBGBDDBBBDHHDDHGDDDDDHHHHHHHHHDDDBDDBBBDBDBDDG"]
[null,null,null,41,"DDBBGBBBBDBBBGGGGBGGBDDGGDDDGHHGHHHHDHGBDDDDGHBBBHHBGHDDDDBBBBGGDDBBBBDHDDHHDDDDDDHHHHDHHHHHDDBDBBBDBBBDDGBD"]
[null,null,null,41,"DDBBGBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDGHBBBHHBGHDDDDBBBBGGDDBBBBDHDDHHDDDDDDHHHHDHHHHHDDBDBBBDBBBDDGBD"]
[null,null,null,41,"DDBBGBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDGHBBBHHBGHDDDDBBBBGGDDBBBBDHDDHHDDDDDDHHHHDHHHHHDDBDBBBDBBBDDGB"]
[null,null,null,41,"DDBBGBBBBBDBBBGGGGBGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDHHHHHDHHHHDDHDBBBBBDBGBBD"]
[null,null,null,41,"DDBBBGBBBBDBBGGGGBGGBDDGGDDDGHGHHHDHHGHDDDDDGDGGBBHBBGHDDDBBBBDDBDBBBDHHDDHGDDDDDHHHHHHHHHHDDHBDBBBDBBDDBGBB"]
[null,null,null,41,"DBDBBGBBBBDBBBGGGGBGGBDGGDDGHHGHHHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBDDBDD"]
[null,null,null,41,"DBDBBGBBBBDBBBGGGGBGGBDGGDDGHHGHHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBDDBDDH"]
[null,null,null,41,"DBDBBGBBBBDBBBGGGGBGGBDGGDDDGHHGHHHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDHHHHDHHHHHDDHBDBBBDBBDDBDD"]
[null,null,null,41,"HDBDBGBGBDBBBGGHGGDGBDDGGDGHHBHGBBHDHBBBGBDDDGBGBHGBGBHDDGDDBGGGDDBBDDDHHHDHGGDHHHHHDHDHHDHHDDBBBBBDDGDBBDDB"]
[null,null,null,41,"DBDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDGHBGBHHBGGHDDDBBBBDGDDBBBDHHDDHGDDDDDHHHHHHHHHDDHBDBBBDBBDDBDD"]
[null,null,null,41,"DBDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDGHBGBHBGGHDDDBBBBDGDDBBBDHHDDHGDDDDDHHHHHHHHHDDHBDBBBDBBDDBDDH"]
[null,null,null,41,"HDBDBGBGBDBBBGGHGGDGBDDGGDDGHHBHGBBHDHBBBGBDDGBGBHGBGBHDDBGDDBGGGDDBDDDHHHDHGGDHHHHHDHDHHDHHDDBBBBBDDGDBBDBD"]
[null,null,null,41,"HDBDBGBGBDBBBGGHGGDGBDDGGDDGHHBHGBBHDHBBBGBDDDGBGBHGBGBHDDBGDDBGGGDDBDDDHHHDHGGDHHHHHDHDHHDHHDDBBBBBDDGDBBDB"]
[null,null,null,41,"BHDBDGBGBBDBBBGGHGGGDGBDDGGDDHHBHGBBHDHBBGBDDDGBGBHGBGBHDBGDBGGGGBDDDDDDDHDDHGDHHHHHDDDDHDHHDDBBBBDDBDDBDDDG"]
[null,null,null,41,"BHDBDGBGBBDBBBGGHGGGDGBDDGGDDGHHBHGBBHDHBBGBDDDGBGBHGBGBHDDBGDBGGGGBDDDDDDDHDDHGDHHHHHDDDDHDHHDDDBBBBDDBDDBD"]
[null,null,null,41,"BHDBDGBGBBDBBBGGHGGGDGBDDGGDDGHHBHGBBHDHBBGBDDDGBGBHGBGBHDDBGDBGGGGBDDDDDDDHDDHGDHHHHHDDDDHDHHDDBBBBDDBDDBDD"]
[null,null,null,41,"HDBDBGBGBDBBBGGHGGDGBDDDGGDGHHBHGBBHHBBBGBDDDGBGBHGBGBHDDBGDDGGGDDBBDDDHHHDHGGDHHHHHDHDHHDHHDDBBBBBDDGDBBBDD"]
[null,null,null,41,"BHDBDBGGBBDBBBGGHGGGDGBDDDGGDDGHHBHGBBHDHBBGBDDGBGBHGBGBHDDBGDBGGGDBBDDDHDHHDHGGDHHHHHHDHHDHHDDBBBBBDDBDDBDD"]
[null,null,null,41,"BHDBDBGGBBDBBBGGHGGGDGBDDDGGDDGHHBHGBBHDHBBGBDDGBGBHGBGBHDDBGDBGGGDBBDDDHDHHDHGGDHHHHHHDHHDHHDDBBBBBDBDDBDDD"]
[null,null,null,41,"HDBDBGBGBDBBBGGHGGDGBDDDGGDDGHHBHGBBHHBBBGBDDDGBGBHGBGBHDDBGDDGGGDDBBDDDHHHDHGGDHHHHHDHDHHDHHDDBBBBBDDGDBBBD"]
[null,null,null,41,"BHDBDBGBGBBDBBGGHGGGGBDDDGGDDGHHBHGBBHDHBBGBDDDGBGBHGBGBHDDBGDDBGGGDDBDDDHHHHDHGGHHHHHDHHDHDDHDDDBBBBDDDDBBB"]
[null,null,null,41,"BBDBDBGBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDGHGGBHHGGGGDDDDBBBDGBDBBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBBD"]
[null,null,null,41,"BBDBDBGBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDGHGBBHHGGGHDDDDBBBDGBDBBBBDHHDHHGDDDDHHHDDDHHHHHDDBDBBBDBBDDB"]
[null,null,null,41,"BBDBDBGBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDGHGBBHHGGGHDDDDBBBDGBDBBBBDHHDHHGDDDDHHHDDDHHHHHDDBDBBBDBBBDD"]
[null,null,null,41,"BBDBDBGBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDGHGBBHHGGGHDDDDBBBDGBDBBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBBD"]
[null,null,null,41,"BBDBDBGBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDDGHGBBHHGGGHDDDDBBBDGBDBBBBDHHDHHGDDDDHHHDDDHHHHHDDBDBBBDBBBD"]
[null,null,null,41,"BBDBDBGBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDDGHGBBHHGGGHDDDDBBBDGBDBBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBB"]
[null,null,null,41,"BBDBDBGBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDDGHGBBHHGGGHDDDBBBDGBDBBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBDB"]
[null,null,null,41,"BBDBDBGBBBBDBBBGGGGGGGBDDDDGDGHHHHHDHDHGBBGBDDDGHGBBHHGGGHDDDDBBBDGBDBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBBHB"]
[null,null,null,41,"BBDBDBGBBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDDGHGBBHHGGGHDDDDBBBDGBDBBBDHHDHHGDDDDDHHHDDHHHHHDDBDBBBDBBBD"]
[null,null,null,41,"BBDBDBGBBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDDGHGBBHHGGGHDDDDBBBDGBDBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBB"]
[null,null,null,41,"BBDBDBGBBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHHDHGBBGBDDDGHGBBHHGGGHDDDBBBDGBDBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBBD"]
[null,null,null,40,"DHBBGBBBGBBBBBGHGBGGBDDDGGDDGHHGHGDBHDHGBDBDDDBGBHHBGBHDDBGDBDGBDDBBDDDHDHHGDDGHHHHHDHHDHDDDDDBBBBBBDDDGDDGG"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDHHHHHHHHHDDHBDBBDBBBDDBD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHHHHHHDDHBDBBDBBBDDB"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHHHHHHDDHBDBBDBBBDBD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHHHHHHDDHBDBBBDBBBDD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHDBBBDBBBDB"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBBD"]
[null,null,null,40,"BBDBDBGBBBBDBBBGGGGGGGBBDDDDGDGHHHHHDHDHGBBGBDDDGHGBBHHGGGHDDDDBBBDGBDBBBDHHDHHGDDDDDHHHDDDHHHHHDDBDBBBDBBBH"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDBDDBBBDHHDDHGDDDDHHHHHHHHHDDHBDBBDBBBDDBDG"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBBDD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHDBBBDBBBDGB"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHDBBBDBBBDBG"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBDBBBDGB"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBBGD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBBDG"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBBBBDGD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDBBBBDGBDDBBBDHHDHGDDDDDHHHHHHHHHDDHDBBBDBBBDBGDDD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDBBBBDGBDDBBBDHHDHGDDDDDHHHHDHHHHHDDHDBBBDBBBDBGDD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHHHHHHDDHDBBBDBBBDBGDD"]
[null,null,null,9,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBHHBGGHDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHDBBBDBBBDBGDB"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDGHBBHHBGGHDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHDBBBDBBBDBGD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDHHHHDHHHHHDDHBDBBBDBBDB"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDHHHHDHHHHHDDHBDBBBDBBBD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHHDHHDHGBDDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBB"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBBDHB"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGGDDDGHHGHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBBBBDBBBDHBD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGDDDGHHGHHDHHDHGBDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDHHHHDHHHHHDDBDBBBDBBBDDHDG"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGGBDDGDDDGHHGHHDHHDHGBDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBBDDG"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGBDGGDDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDHDBBBDBBDBGBDD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGBDDGGDDGHHGHHDHHDHGBDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBBDGD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGBDDGGDDGHHGHHDHHDHGBDDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDHHHHDHHHHHDDHBDBBBDBBBDGD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGBDDGGDDGHHGHHDHHDHGBDDDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBBDG"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGBDDGGDDDGHHGHHDHHDHGBDDDGHBGBHHBGGHDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHBDBBBDBBBDDDGD"]
[null,null,null,40,"DDBBGBBBBBDBBBGGGGBGBDDGGDDDGHHGHHDHHDHGBDDDDGHBGBHHBGGHDDDBBBBDGBDDBBBDHHDDHGDDDDDHHHHDHHHHHDDHDBBDBBBDBGBD"]

{"sheet":"Aide","index":1,"n_rows":38,"n_cols":13,"rows_kept":38,"cut":false,"hidden":false,"merged":[]}
["Code aide xlstore","A","B","B1","B2","d3","C","D","dd","D","","E","F"]
["entête","Utilisation d'un algorithme génétique pour deviner un mot ou une expression","La fonction d'évaluation","La fonction d'évaluation : calcul d'une nouvelle position","La fonction d'évaluation calcul de la note finale","La fonction d'évaluation : affichage d'une solution","L'initialisation","La boucle","Premiers résultats","La boucle : programme final","Conclusion","Référence à xlstore","Référence"]
["Icone","!","ü","v","!","J","&","#",1,"#","&","?","&"]
["texte","L'objectif de ce classeur est de vous montrer un exemple de l'utilisation de l'outil xlstore pour utiliser un algorithme génétique.\r\nPour cela, excel-store doit être installée et le programme doit y faire référence.\r\nPour poser le problème, on doit coder une solution sous forme de texte dont on doit déterminer la taille et l'alphabet.\r\nUn algorithme génétique doit contenir une fonction d'évaluation pour pouvoir choisir les meilleures solutions.\r\nEnfin, il faut déterminer une population de départ et la procédure d'évolution, c'est pour cette partie qu'on utilisera la macro complémentaire.","L'objectif est le parcours pour aller vers la case de numéro maximum. Pour cela on suit un chemin de 108 déplacements parmi gauche droite haut et bas. L'alphabet va donc être GHBD, la longueur du chromosome va être de 108 caractères. Les valeurs des \"dalles\" du parcours sont croissantes et les murs ont comme valeur -1. Pour l'évaluation, on va avoir 2 procédures une qui fait le déplacement d'un point en fonction d'un sens ;  et la seconde qui va faire la suite des déplacements qui composent le shéma à suivre. Les règles sont simple : on se déplace dans le sens indiqué, si la cellule destination est un mur, on reste sur place.\r\n","Calcul d'une nouvelle position en fonction d'une position L12 par exemple et d'un sens par exemple G (gauche), le résultat va être M12 si la cellule est disponible, L12 si c'est un mur (valeur -1).\r\n\r\nFunction nouvelle_position(adresse, sens)\r\n  Dim sel As Range\r\n  Set sel = Range(adresse)\r\n  If sens = \"G\" Then\r\n    If sel.Offset(, -1).Value = -1 Then\r\n      nouvelle_position = adresse\r\n    Else\r\n      nouvelle_position = sel.Offset(, -1).Address\r\n    End If\r\n  ElseIf sens = \"D\" Then\r\n    If sel.Offset(, 1).Value = -1 Then\r\n      nouvelle_position = adresse\r\n    Else\r\n      nouvelle_position = sel.Offset(, 1).Address\r\n    End If\r\n  ElseIf sens = \"H\" Then\r\n    If sel.Offset(-1).Value = -1 Then\r\n      nouvelle_position = adresse\r\n    Else\r\n      nouvelle_position = sel.Offset(-1).Address\r\n    End If\r\n  ElseIf sens = \"B\" Then\r\n    If sel.Offset(1).Value = -1 Then\r\n      nouvelle_position = adresse\r\n    Else\r\n      nouvelle_position = sel.Offset(1).Address\r\n    End If\r\n  End If\r\nEnd Function\r\n","L'objectif à maximiser va être le numéro de la \"dalle\" d'arrivée, on va donc faire les 108 déplacements et noter ce résultat.\r\n\r\nFunction valeur_arrivee(ByVal individu)\r\n  Dim position\r\n  position = Range(\"depart\").Address\r\n  Dim i\r\n  For i = 1 To Len(individu)\r\n    position = nouvelle_position(position, Mid(individu, i, 1))\r\n  Next\r\n  valeur_arrivee = Range(position).Value\r\nEnd Function\r\n","Pour dessiner un individu, on a nommé \"labyrinthe\" la plage entourée en jaune. \"départ\" est dans la deuxième ligne de chiffres troisième colonne.\r\n\r\nSub dessine_individu(individu)\r\n  Range(\"labyrinthe\").Parent.Select\r\n  Range(\"labyrinthe\").Interior.ColorIndex = xlNone\r\n  Dim position\r\n  position = Range(\"depart\").Address\r\n  Dim i\r\n  For i = 1 To Len(individu)\r\n    position = nouvelle_position(position, Mid(individu, i, 1))\r\n    Range(position).Interior.ColorIndex = 12\r\n  Next\r\nEnd Sub\r\n","Pour initialiser la population, on utilise des outils de xlstore.xlam en particulier l'objet algorithme_genetique auquel on a accès grâce à la référence que l'on a faite en vba. L'initialisation des paramètres se fait via la fonction initialise_parametres où l'on indique 3 informations :\r\nla fonction d'évaluation ici \"valeur_arrivee\"\r\nles caractères autorisés ici l'alphabet : HBGD\r\nle nombre de chromosomes ici ça va être la longueur du parcours ici 108.\r\nLe nombre d'individus ici est changé à 80 par rapport à la valeur par défaut qui est 40.\r\n\r\nSub reinit_parcours_ag()\r\n  Dim ag As XLSTORE.Algorithme_genetique\r\n  Set ag = XLSTORE.New_Algorithme_genetique\r\n  ag.initialise_parametres fonction_d_evaluation:=\"'\" & ActiveWorkbook.Name & \"'!valeur_arrivee\"\r\n  ag.initialise_parametres nombre_de_chromosomes:=108, nombre_d_individus:=80, lettres_possibles:=\"HBGD\"\r\n  ag.Initialise_Population\r\n  Range(\"d36\").Resize(80, 2).Value = ag.Population\r\n  Range(\"e36\").Select\r\n  dessine_individu ActiveCell.Value\r\nEnd Sub\r\n","La boucle a besoin des paramètres de la population : inscrits dans cette ligne :\r\n  ag.initialise_parametres nombre_d_enfants:=20, nombre_de_mutations:=40, taux_de_mutation:=8\r\nOn utilise importe population pour récupérer des individus sur la feuille, la plage indiquée doit avoir le nombre de lignes correspondant au nombre d'individus de la population et les individus doivent être valables. Dans ce cas, la fonction renvoie \r\n\"Récupération OK pour 80 individus.\r\n\r\nSub parcours_ag()\r\n  Dim ag As XLSTORE.Algorithme_genetique, reponse\r\n  Set ag = XLSTORE.New_Algorithme_genetique\r\n  \r\n  ag.initialise_parametres fonction_d_evaluation:=\"'\" & ActiveWorkbook.Name & \"'!valeur_arrivee\"\r\n  ag.initialise_parametres nombre_de_chromosomes:=108, nombre_d_individus:=80, lettres_possibles:=\"HBGD\"\r\n  ag.initialise_parametres nombre_d_enfants:=20, nombre_de_mutations:=40, taux_de_mutation:=8\r\n  reponse = ag.Importe_population(Range(\"e36\").Resize(80, 1))\r\n  If Not reponse Like \"*OK*\" Then MsgBox reponse, vbCritical, \"Fin\": Exit Sub\r\n  ag.Boucle_n_generations Range(\"nb_boucle_parcours\").Value\r\n  Range(\"d36\").Resize(80, 2).Value = ag.Population\r\n  Range(\"e36\").Select\r\n  dessine_individu ActiveCell.Value\r\nEnd Sub","Le programme de base ne dépasse pas la mi-parcours. Une solution serait de changer la fonction de mutations en effet, on aurait tout intérêt à enlever un déplacement qui tape dans un mur et à le mettre à la fin pour aller plus loin.\r\nC'est possible avec l'objet algorithme_genetique. On peut avoir une fonction personnalisée pour la mutation.\r\nIci une fonction simplifiée qui ne fait une mutation que sur un caractère et ne tient pas compte du taux.\r\nFunction mutation_fin(ByVal individu, tx)\r\n  Dim i, car, gauche, milieu\r\n  i = Int(Rnd * (Len(individu) - 1) + 1)\r\n  car = Mid(individu, i, 1)\r\n  gauche = Left(individu, i - 1)\r\n  milieu = Mid(individu, i + 1)\r\n  mutation_fin = gauche & milieu & car\r\nEnd Function\r\n","On va ajouter la référence à notre fonction de mutation personnalisée :\r\n  ag.initialise_parametres fonction_mutation:=\"'\" & ActiveWorkbook.Name & \"'!mutation_fin\"\r\nLe nouveau programme devient comme suit :\r\n\r\nSub parcours_ag()\r\n  Dim ag As XLSTORE.Algorithme_genetique, reponse\r\n  Set ag = XLSTORE.New_Algorithme_genetique\r\n  \r\n  ag.initialise_parametres fonction_d_evaluation:=\"'\" & ActiveWorkbook.Name & \"'!valeur_arrivee\"\r\n  ag.initialise_parametres nombre_de_chromosomes:=108, nombre_d_individus:=80, lettres_possibles:=\"HBGD\"\r\n  ag.initialise_parametres nombre_d_enfants:=20, nombre_de_mutations:=40, taux_de_mutation:=8\r\n  ag.initialise_parametres fonction_mutation:=\"'\" & ActiveWorkbook.Name & \"'!mutation_fin\"\r\n  reponse = ag.Importe_population(Range(\"e36\").Resize(80, 1))\r\n  If Not reponse Like \"*OK*\" Then MsgBox reponse, vbCritical, \"Fin\": Exit Sub\r\n  ag.Boucle_n_generations Range(\"nb_boucle_parcours\").Value\r\n  Range(\"d36\").Resize(80, 2).Value = ag.Population\r\n  Range(\"e36\").Select\r\n  dessine_individu ActiveCell.Value\r\nEnd Sub","Une deuxième application des algorithmes génétiques via l'outil xlstore.xlam\r\nToujours la même simplicité de programmation avec en plus la possibilité de personnaliser la fonction de mutation","Dans l'éditeur visual basic, vous choisissez votre projet qui n'a pas encore la référence puis vous allez dans le menu outils/références.","Il vous suffit maintenant de cocher xlstore dans la liste des références disponibles. Si la macro complémentaire est installée, la référence sera dans la liste."]
["Labels1","Comment faire la référence à xlstore.xlam",null,null,null,null,null,null,null,null,"Pour télécharger xlstore ou les autres exemples http://sn1.chez-alice.fr/xlstore/index_ag.html","Retour","Retour"]
["Labels2"]
["Labels3"]
["Labels4"]
["Labels5"]
["Type 1","lien aide",null,null,null,null,null,null,null,null,"lien aide","lien aide","lien aide"]
["Type 2"]
["Type 3"]
["Type 4"]
["Type 5"]
["Code Aide liée 1","E",null,null,null,null,null,null,null,null,"http://sn1.chez-alice.fr/xlstore/index_ag.html","A","A"]
["Code Aide liée 2"]
["Code Aide liée 3"]
["Code Aide liée 4"]
["Code Aide liée 5"]
["Affichage modal","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui"]
["Utilisation croix rouge pour fermer autorisée","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui"]
["Bouton 1"]
["Bouton 2",null,"Précédant","Précédant","Précédant","Précédant","Précédant","Précédant","Précédant","Précédant"]
["Bouton 3","Suivant","Suivant","Suivant","Suivant","Suivant","Suivant","Suivant","Fermer","Suivant","Fermer","Suivant","Précédant"]
["Bouton 4","Fermer","Fermer","Fermer","Fermer","Fermer","Fermer","Fermer","Suivant","Fermer"]
["Bouton 5"]
["Zone saisie texte","Non","Non","Non","Non","Non","Non","Non","Non","Non","Non","Non","Non"]
["cliquez dans la colonne pour afficher le formulaire","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Oui","Non","Oui","Oui"]
["cliquez dans la colonne pour afficher le formulaire de saisie",null,"labyrinthe!$C$2:$AI$25","labyrinthe!$C$2:$AI$26","labyrinthe!$C$2:$AI$27","labyrinthe!$C$2:$I$9",null,null,null,null,null,null,"Aide!$m$38:$m$52"]
["Réponse"]
["bouton","Fermer"]
["choix 1",false]
["choix 2",false]
["choix 3",false]
["choix 4",false]
["choix 5",false]
["colonne",11]
["Texte entré"]