diff --git a/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js b/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js
index 2a5fe743b519e0186dae873e6317327fee403212..126d1b188945f6fa1314868e220868748093ecf2 100644
--- a/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js
+++ b/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js
@@ -995,3 +995,22 @@ nsVmap.nsMapManager.LayersTree.prototype.LayertreeController.prototype.setSublay
 
     oVmap['scope'].$broadcast('layersChanged');
 }
+
+/**
+ * Toggle all the sublayers in the olLayer
+ * @param  {ol.Layer} oLayer
+ * @param  {string} sCheckboxId
+ * @export
+ */
+nsVmap.nsMapManager.LayersTree.prototype.LayertreeController.prototype.toggleAllSubLayers = function (oLayer, sCheckboxId) {
+    oVmap.log('nsVmap.nsMapManager.LayersTree.LayertreeController.toggleAllSubLayers');
+    var aAvaliableSublayers = angular.copy(oLayer["olLayer"]["get"]('sublayers'));
+    var bLayersVisibility = document.getElementById(sCheckboxId).checked;
+    for (var i = 0; i < aAvaliableSublayers.length; i++) {
+        if (bLayersVisibility || i == 0)
+            this.activeSublayer(oLayer["olLayer"], aAvaliableSublayers[i]);
+        else
+            this.unactiveSublayer(oLayer["olLayer"], aAvaliableSublayers[i], '#' + oLayer["olLayer"].$$hashKey + '_sublayer_' + aAvaliableSublayers[i] + '_visible_checkbox');
+    }
+    oVmap['scope'].$broadcast('layersChanged');
+};
diff --git a/src/module_vmap/module/template/layers/layertree.html b/src/module_vmap/module/template/layers/layertree.html
index 3141c44e2381b972cbd1df47df5f2c3cd7f5de90..9fe281ac8f44430a2349cf06046505f1e3300198 100644
--- a/src/module_vmap/module/template/layers/layertree.html
+++ b/src/module_vmap/module/template/layers/layertree.html
@@ -117,6 +117,21 @@
                                     </div>
                                 </a>
                             </li>
+                            <!-- Code ou découche toutes les couches -->
+                            <li ng-if="layer.olLayer.get('sublayers').length > 1">
+                              <div class="sublayer-checkboxes">
+                                  <!-- Checkbox visible -->
+                                  <div class="checkbox checkbox-info inline-checkbox">
+                                      <input id="{{layer.$$hashKey}}_all_sublayer_visibility_checkbox"
+                                             type="checkbox"
+                                             style="cursor:pointer; position: absolute"
+                                             title="Définition de la visibilité de toutes les couches"
+                                             ng-click="ctrl.toggleAllSubLayers(layer, layer.$$hashKey + '_all_sublayer_visibility_checkbox')">
+                                      <label for="{{layer.$$hashKey}}_all_sublayer_visibility_checkbox" style="cursor:pointer" title="Définition de la visibilité de toutes les couches"></label>
+                                  </div>
+                              </div>
+                            </li>
+                            <!-- -->
                             <li ng-if="layer.olLayer.get('type') === 'imagewms' || layer.olLayer.get('type') === 'tilewms'"
                                 ng-repeat="sublayer in layer.olLayer.get('sublayers')">
                                 <div class="sublayer-checkboxes">