diff --git a/src/services/TagService.js b/src/services/TagService.js
index 1126c92e94ef3de618abb8ecac3482a6f8220fc7..deaaa608b0bbf52982c9e171ff16fee4d6b9c39b 100644
--- a/src/services/TagService.js
+++ b/src/services/TagService.js
@@ -30,22 +30,26 @@ export class TagService extends Fetcher {
       if (data) {
         return data.tags.some((tag) => {
           if (
-            data.tags.length === 1 &&
-            (tag.tagDefinition === Tag.ORDER_TAG || tag.type === Tag.ORDER_TAG) &&
-            tag.localName !== Tag.HIDDEN_TAG
+            tag.selected !== false ||
+            tag.localName !== Tag.HIDDEN_TAG ||
+            tag.type !== Tag.HIDDEN_TAG
           ) {
-            return true;
-          } else if (
-            data.tags.length === 1 &&
-            (tag.tagDefinition === Tag.NO_TAG || tag.type === Tag.NO_TAG) &&
-            tag.localName !== Tag.HIDDEN_TAG
-          ) {
-            return true;
-          } else {
-            return selectedTags.some(
-              (selectedTag) =>
-                selectedTag.tagName === tag.tagName && tag.localName !== Tag.HIDDEN_TAG
-            );
+            if (
+              data.tags.length === 1 &&
+              (tag.tagDefinition === Tag.ORDER_TAG || tag.type === Tag.ORDER_TAG)
+            ) {
+              return true;
+            } else if (
+              data.tags.length === 1 &&
+              (tag.tagDefinition === Tag.NO_TAG || tag.type === Tag.NO_TAG)
+            ) {
+              return true;
+            } else {
+              return selectedTags.some(
+                (selectedTag) =>
+                  selectedTag.tagName === tag.tagName
+              );
+            }
           }
         });
       }
@@ -62,7 +66,7 @@ export class TagService extends Fetcher {
       }
       return -1;
     });
-    if (!tags?.value?.length) {
+    if (!tags || !Object.keys(tags || {}).length) {
       return datas;
     }
     return this.orderDatasTobeShownWithTag(tags, datas);
@@ -107,17 +111,4 @@ export class TagService extends Fetcher {
       document.getElementById("tagsCollapse").className = "column";
     }
   }
-
-  filterTags(columnsComponentsToBeShown) {
-    let paramsSelect = [];
-    for (let i = 0; i < columnsComponentsToBeShown.length; i++) {
-      if (columnsComponentsToBeShown[i].variable && columnsComponentsToBeShown[i].component) {
-        paramsSelect.push({
-          variable: columnsComponentsToBeShown[i].variable,
-          component: columnsComponentsToBeShown[i].component,
-        });
-      }
-    }
-    return paramsSelect;
-  }
 }
diff --git a/src/views/data/DataTableView.vue b/src/views/data/DataTableView.vue
index 2eae84f2090325c61afa16476ac0a096787a76f9..cfe0c62420c5116f1f19a7e0fda1778c0425f974 100644
--- a/src/views/data/DataTableView.vue
+++ b/src/views/data/DataTableView.vue
@@ -11,6 +11,7 @@
     </h1>
     <div id="tagsCollapse" class="column">
       <TagsCollapse
+        v-if="hasTags"
         :tags="tags"
         @change:tag="changeTagSelected($event, 'changeTagSelected')"
         @change:allTags="changeAllValueTags($event)"
@@ -201,6 +202,7 @@ import { lineCountSynthesis } from "@/composable/application/synthesis";
 import { dataLoader } from "@/composable/data/dataLoader";
 import { patternCheckerDateRef } from "@/composable/application/DatePattern";
 import DatasPatternLink from "@/components/datas/DatasPatternLink.vue";
+import { Tag } from "@/model/application/Tag";
 
 export default {
   name: "DataTableView",
@@ -243,7 +245,6 @@ export default {
     const { shallowRefArray: referenceTypeForReferencingColumns } = useArray();
     const { reactiveObject: referencesDynamic, doChangeObject: changeReferencesDynamic } =
       useObject();
-    const hasTags = useBoolean(false).refBoolean;
     const tableHeight = computed(() => {
       if (rows.value.length < params.limit) {
         return 66 * (rows.value.length + 1) + "px";
@@ -268,9 +269,16 @@ export default {
       }
     });
 
+    const hasTags = useBoolean(false).refBoolean;
     const changeTags = function (tagsToChange) {
       _changeTags({ ...tagsToChange });
-      hasTags.value = tags && Object.keys(tags || {}).length;
+      hasTags.value =
+        tags.value &&
+        Object.keys(tags.value || {}).length !== 0 &&
+        !(
+          Object.keys(tags.value || {}).length === 1 &&
+          Object.keys(tags.value).includes(Tag.NO_TAG_NAME)
+        );
     };
     const totalRows = ref(0);
 
@@ -619,6 +627,7 @@ export default {
       filters,
       MANY,
       ONE,
+      hasTags,
       getRefColumnId,
       lineCountSynthesis,
       getColumnNameView,
diff --git a/src/views/data/DatasManagementView.vue b/src/views/data/DatasManagementView.vue
index 83b9037626ad2baeec4b327a173675f8aaa119ea..e71611387a62575ecb80194ec03cad36f65f0fcf 100644
--- a/src/views/data/DatasManagementView.vue
+++ b/src/views/data/DatasManagementView.vue
@@ -103,6 +103,7 @@ import { buildTags } from "@/composable/application/tags";
 import { lineCountSynthesis } from "@/composable/application/synthesis";
 import LoadingAnimate from "@/components/common/LoadingAnimate.vue";
 import ShowErrors from "@/components/application/ShowErrors.vue";
+import { Tag } from "@/model/application/Tag";
 
 export default {
   name: "DatasManagementView",
@@ -143,7 +144,10 @@ export default {
     const hasTags = useBoolean(false).refBoolean;
     const changeTags = function (tagsToChange) {
       _changeTags({ ...tagsToChange });
-      hasTags.value = tags && Object.keys(tags || {}).length;
+      hasTags.value =
+        tags &&
+        Object.keys(tags || {}).length !== 0 &&
+        !(Object.keys(tags || {}).length === 1 && Object.keys(tags).includes(Tag.NO_TAG_NAME));
       changeDatasToBeShown(services.tagService.toBeShown(tags, datas.value));
     };