diff --git a/ui/src/components/application/ApplicationCard.vue b/ui/src/components/application/ApplicationCard.vue
index 35e62082b1701e82c976b7ab51d530dd8033b3b6..2eea00c9c98941ed7d64ec58fea1adcb7c4cc529 100644
--- a/ui/src/components/application/ApplicationCard.vue
+++ b/ui/src/components/application/ApplicationCard.vue
@@ -62,10 +62,10 @@ export default {
 };
 </script>
 <template>
-  <div style="margin-left: 30px">
+  <div style="margin-left: 30px"
+       v-if="index >= (current - 1) * perPage && index < current * perPage">
     <div class="column is-3-widescreen is-6-desktop is-12-tablet">
       <div
-        v-if="index >= (current - 1) * perPage && index < current * perPage"
         class="applicationCard card"
         style="padding-bottom: 10px"
       >
diff --git a/ui/src/components/common/provider/OreInputText.vue b/ui/src/components/common/provider/OreInputText.vue
index b198185c13da3568063ce1baeae2f613f4ab30b0..a1e878cdc5089f7eba65c0b0bbc9a45eef48b5b0 100644
--- a/ui/src/components/common/provider/OreInputText.vue
+++ b/ui/src/components/common/provider/OreInputText.vue
@@ -91,14 +91,14 @@ export default {
       if (typeof value == "string") {
         return this.regexp(value);
       } else {
-        return value.map((v) => this.regexp(v)).filter((v) => v == false).length == 0;
+        return value.map((v) => this.regexp(v)).filter((v) => v === false).length === 0;
       }
     },
     validateRequired(value) {
       if (typeof value == "string") {
         return !!value;
       } else {
-        return value.length > 0;
+        return value?.length > 0;
       }
     },
   },
@@ -110,7 +110,7 @@ export default {
     },
     multiplicity: {
       get() {
-        return this.checker && this.checker.params && this.checker.params.multiplicity == "MANY";
+        return this.checker && this.checker.params && this.checker.params.multiplicity === "MANY";
       },
     },
     rules: {
@@ -118,7 +118,7 @@ export default {
         let rules = [];
         if (this.checker) {
           if (
-            this.checker.name == "BooleanType" &&
+            this.checker.name === "BooleanType" &&
             this.checker.param &&
             this.checker.params.expression
           ) {
diff --git a/ui/src/style/_common.scss b/ui/src/style/_common.scss
index f9a6a2d31626a4165e368860fe2e44f8e26743cc..db033d6c2bf7ed8d6a9ed46f02dee41d6f574fb7 100644
--- a/ui/src/style/_common.scss
+++ b/ui/src/style/_common.scss
@@ -40,6 +40,9 @@ h2 {
 a {
   color: $info;
 }
+.columns {
+  margin: 0;
+}
 
 // affichage icon uniformisé
 .control.has-icons-right .input.is-small ~ .icon,
diff --git a/ui/src/views/application/ApplicationsView.vue b/ui/src/views/application/ApplicationsView.vue
index 775f5db8182bb9260bf99e2794d049e9f59a5492..89475dec38e0fa6e47e46cdbc79e48e9bcf5cec9 100644
--- a/ui/src/views/application/ApplicationsView.vue
+++ b/ui/src/views/application/ApplicationsView.vue
@@ -7,11 +7,11 @@
         <section>
           <div v-if="canCreateApplication" class="card is-clickable">
             <div
-              class="card-header createApplication"
-              role="button"
-              style="margin-bottom: 50px"
-              tabindex="0"
-              @click="createApplication"
+                class="card-header createApplication"
+                role="button"
+                style="margin-bottom: 50px"
+                tabindex="0"
+                @click="createApplication"
             >
               <a class="card-header-icon createApplication">
                 <b-icon icon="plus"></b-icon>
@@ -31,31 +31,31 @@
               <div class="content">
                 <b-field class="columns">
                   <b-checkbox
-                    v-model="checkboxDate"
-                    class="column"
-                    false-value="false"
-                    field="name"
-                    true-value="true"
-                    @input="alphabeticalSort = ''"
-                    >{{ $t("applications.trierRecent") }}
+                      v-model="checkboxDate"
+                      class="column"
+                      false-value="false"
+                      field="name"
+                      true-value="true"
+                      @input="alphabeticalSort = ''"
+                  >{{ $t("applications.trierRecent") }}
                   </b-checkbox>
                 </b-field>
               </div>
               <div class="content">
                 <b-field class="columns">
                   <b-radio
-                    v-model="alphabeticalSort"
-                    name="alphabeticalSort"
-                    native-value="Az"
-                    @input="checkboxDate = false"
+                      v-model="alphabeticalSort"
+                      name="alphabeticalSort"
+                      native-value="Az"
+                      @input="checkboxDate = false"
                   >
                     {{ $t("applications.trierA_z") }}
                   </b-radio>
                   <b-radio
-                    v-model="alphabeticalSort"
-                    name="alphabeticalSort"
-                    native-value="Za"
-                    @input="checkboxDate = false"
+                      v-model="alphabeticalSort"
+                      name="alphabeticalSort"
+                      native-value="Za"
+                      @input="checkboxDate = false"
                   >
                     {{ $t("applications.trierZ_a") }}
                   </b-radio>
@@ -72,10 +72,10 @@
                 <b-field>
                   {{ $t("applications.name") }}
                   <b-autocomplete
-                    v-model="filterName"
-                    :data="selectedApplications"
-                    field="localName"
-                    placeholder="olac"
+                      v-model="filterName"
+                      :data="selectedApplications"
+                      field="localName"
+                      placeholder="olac"
                   >
                   </b-autocomplete>
                 </b-field>
@@ -86,41 +86,38 @@
       </div>
       <div class="column is-9-widescreen is-12-desktop">
         <LoadingAnimate v-if="loading" :size="'is-large'"></LoadingAnimate>
-        <div
-          v-if="progress > 0 && progress < 1"
-          class="column is-9-widescreen is-12-tablet"
-          style="background-color: rgba(0, 127, 127, 0.2)"
-        >
-          <div
-            class="card-header"
-            :style="'background-color: #007F7F; height: 1.5em; width:' + progress * 100 + '%'"
-          ></div>
-        </div>
+        <b-progress
+            v-if="progress > 0 && progress < 1"
+            type="is-primary"
+            :value="progress * 100"
+            show-value
+            size="is-medium"
+        > {{ progress * 100 }}%</b-progress>
         <div class="columns">
           <ApplicationCard
-            v-for="(application, index) in selectedApplications"
-            :key="application.name"
-            :current="current"
-            :application="application"
-            :index="index"
-            :per-page="perPage"
+              v-for="(application, index) in selectedApplications"
+              :key="application.name"
+              :application="application"
+              :current="current"
+              :index="index"
+              :per-page="perPage"
           />
         </div>
-        <hr />
+        <hr/>
         <b-pagination
-          v-if="perPage <= applications.length"
-          :aria-current-label="$t('menu.aria-curent-page')"
-          :aria-label="$t('menu.aria-pagination')"
-          :aria-next-label="$t('menu.aria-next-page')"
-          :aria-previous-label="$t('menu.aria-previous-page')"
-          :current.sync="current"
-          :per-page="perPage"
-          :range-after="2"
-          :range-before="2"
-          :rounded="true"
-          :total="applications.length"
-          order="is-centered"
-          role="navigation"
+            v-if="perPage <= applications.length"
+            :aria-current-label="$t('menu.aria-curent-page')"
+            :aria-label="$t('menu.aria-pagination')"
+            :aria-next-label="$t('menu.aria-next-page')"
+            :aria-previous-label="$t('menu.aria-previous-page')"
+            :current.sync="current"
+            :per-page="perPage"
+            :range-after="2"
+            :range-before="2"
+            :rounded="true"
+            :total="applications.length"
+            order="is-centered"
+            role="navigation"
         >
         </b-pagination>
       </div>
@@ -134,30 +131,30 @@ import LoadingAnimate from "@/components/common/LoadingAnimate.vue";
 import services from "@/composable/services";
 import useBoolean from "@/composable/components/boolean";
 import useText from "@/composable/components/text";
-import { computed, onMounted, inject } from "vue";
-import { useRedirections } from "@/composable/applications/useFunction";
+import {computed, onMounted, inject} from "vue";
+import {useRedirections} from "@/composable/applications/useFunction";
 import ApplicationCard from "@/components/application/ApplicationCard.vue";
 import useNumber from "@/composable/components/number";
 
 export default {
   name: "ApplicationsView",
-  components: { ApplicationCard, LoadingAnimate, PageView },
+  components: {ApplicationCard, LoadingAnimate, PageView},
   setup() {
-    const { createApplication, updateApplication, displayAdditionalFilesManagement } =
-      useRedirections();
+    const {createApplication, updateApplication, displayAdditionalFilesManagement} =
+        useRedirections();
     const applications = inject("application:applications");
     const progress = inject("application:progress");
     const loadApplications = inject("application:loadApplications");
     const checkboxDate = useBoolean().refBoolean;
     const canCreateApplication =
-      services.loginService.getAuthenticatedUser().authorizedForApplicationCreation;
+        services.loginService.getAuthenticatedUser().authorizedForApplicationCreation;
     const loading = computed(() => progress.value < 1);
     const isCardModalActive = useBoolean().refBoolean;
     // show modal and cards
     const selectedName = useText().refText;
     // pagination variable
-    const { refNumber : current} = useNumber(1);
-    const perPage = 6;
+    const {refNumber: current} = useNumber(1);
+    const perPage = 9;
     // filtre variable
     const filterName = useText().refText;
     const selected = useBoolean().refBoolean;
@@ -167,7 +164,7 @@ export default {
       let sa = applications && applications.value;
       if (filterName.value.length > 2)
         sa = sa.filter(
-          (a) => a.localName.toString().toLowerCase().indexOf(filterName.value.toLowerCase()) >= 0
+            (a) => a.localName.toString().toLowerCase().indexOf(filterName.value.toLowerCase()) >= 0
         );
       if (checkboxDate.value === "true") sa = sa.sort((a, b) => b.creationDate - a.creationDate);
       else sa = sa.sort((a, b) => b.creationDate - a.creationDate).reverse();
diff --git a/ui/src/views/common/PageView.vue b/ui/src/views/common/PageView.vue
index d3865ab7e50664bcf75f0df46aaebe38ad6f35dc..97218b7e828e6a693d6674e926e8cc5ae49f9a52 100644
--- a/ui/src/views/common/PageView.vue
+++ b/ui/src/views/common/PageView.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="PageView" role="main">
     <MenuView v-if="hasMenu" />
-    <div :class="`PageView-container ${hasMenu ? '' : 'noMenu'}`">
+    <div :class="`column PageView-container ${hasMenu ? '' : 'noMenu'}`">
       <slot></slot>
     </div>
   </div>
diff --git a/ui/src/views/datatype/DataTypeTableView.vue b/ui/src/views/datatype/DataTypeTableView.vue
index 872eca1658eb38c3e8ccc61e0992a01b3d2b7e22..f685f659c9799d81f373b8d969d0e049bb51db14 100644
--- a/ui/src/views/datatype/DataTypeTableView.vue
+++ b/ui/src/views/datatype/DataTypeTableView.vue
@@ -1,38 +1,38 @@
 <template>
   <PageView class="with-submenu">
     <SubMenu
-      :aria-label="$t('menu.aria-sub-menu')"
-      :paths="subMenuPaths"
-      :root="application.localName || application.title"
-      role="navigation"
+        :aria-label="$t('menu.aria-sub-menu')"
+        :paths="subMenuPaths"
+        :root="application.localName || application.title"
+        role="navigation"
     />
 
     <h1 class="title main-title">{{ application.localDatatypeName || dataTypeId }}</h1>
     <div id="tagsCollapse" class="column">
       <TagsCollapse
-        v-if="tagsColumn && Object.keys(tagsColumn).length > 1"
-        :tags="tagsColumn"
-        @change:tag="newTableWithFilterTags($event)"
+          v-if="tagsColumn && Object.keys(tagsColumn).length > 1"
+          :tags="tagsColumn"
+          @change:tag="newTableWithFilterTags($event)"
       />
     </div>
     <div v-if="!showSort && !showFilter" class="columns">
       <div
-        v-if="
+          v-if="
           params.variableComponentOrderBy.length !== 0 ||
           params.variableComponentFilters.length !== 0 ||
           params.authorizationDescriptions.length !== 0
         "
-        class="column is-5-desktop is-12-tablet"
+          class="column is-5-desktop is-12-tablet"
       >
         {{ $t("dataTypesManagement.sorted") }} {{ $t("ponctuation.colon") }}
         <b-field group-multiline grouped>
           <b-taglist>
             <div v-for="(variableComponent, index) in params.variableComponentOrderBy" :key="index">
               <b-tag
-                rounded
-                size="is-medium"
-                style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
-                type="is-dark"
+                  rounded
+                  size="is-medium"
+                  style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
+                  type="is-dark"
               >
                 {{ variableComponent.variableComponentKey.variable }}
                 {{ $t("ponctuation.colon") }}
@@ -45,32 +45,32 @@
         </b-field>
       </div>
       <div
-        v-if="
+          v-if="
           params.variableComponentOrderBy.length !== 0 ||
           params.variableComponentFilters.length !== 0 ||
           params.authorizationDescriptions.length !== 0
         "
-        class="column is-5-desktop is-12-tablet"
+          class="column is-5-desktop is-12-tablet"
       >
         {{ $t("dataTypesManagement.filtered") }} {{ $t("ponctuation.colon") }}
         <b-field group-multiline grouped>
           <b-taglist v-if="params.authorizationDescriptions.length !== 0">
             <div
-              v-for="(variableComponent, index) in params.authorizationDescriptions"
-              :key="index"
+                v-for="(variableComponent, index) in params.authorizationDescriptions"
+                :key="index"
             >
-              {{ $t("dataTypesManagement.interval-date", variableComponent.timeScope) }}
-              <br />
+              {{ $t("dataTypesManagement.interval-date", dateLang(variableComponent.timeScope)) }}
+              <br/>
               <span
-                v-for="(requiredAuthorizations, ind) in variableComponent.requiredAuthorizations"
-                :key="requiredAuthorizations + ind"
+                  v-for="(requiredAuthorizations, ind) in variableComponent.requiredAuthorizations"
+                  :key="requiredAuthorizations + ind"
               >
                 <b-tag
-                  v-for="key in Object.keys(requiredAuthorizations)"
-                  :key="key + '_' + ind"
-                  rounded
-                  size="is-medium"
-                  style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
+                    v-for="key in Object.keys(requiredAuthorizations)"
+                    :key="key + '_' + ind"
+                    rounded
+                    size="is-medium"
+                    style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
                 >
                   {{ key }}
                   {{ $t("ponctuation.arrow-right") }}
@@ -82,9 +82,10 @@
           <b-taglist v-if="params.variableComponentFilters.length !== 0">
             <div v-for="(variableComponent, index) in params.variableComponentFilters" :key="index">
               <b-tag
-                rounded
-                size="is-medium"
-                style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
+                  v-if="variableComponent.filter !==null"
+                  rounded
+                  size="is-medium"
+                  style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
               >
                 {{ variableComponent.variableComponentKey.variable }}
                 {{ $t("ponctuation.colon") }}
@@ -92,6 +93,21 @@
                 {{ $t("ponctuation.arrow-right") }}
                 {{ variableComponent.filter }}
               </b-tag>
+              <b-tag
+                  v-else
+                  rounded
+                  size="is-medium"
+                  style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
+              >
+                {{ variableComponent.variableComponentKey.variable }}
+                {{ $t("ponctuation.colon") }}
+                {{ variableComponent.variableComponentKey.component }}
+                {{ $t("ponctuation.arrow-right") }}
+                {{ $t("dataTypeAuthorizations.from") }}
+                {{ variableComponent.intervalValues.from }}
+                {{ $t("dataTypeAuthorizations.to") }}
+                {{ variableComponent.intervalValues.to }}
+              </b-tag>
             </div>
           </b-taglist>
         </b-field>
@@ -100,37 +116,37 @@
     <div class="columns">
       <div class="column is-5-desktop is-4-tablet">
         <b-button
-          :disabled="isLoading"
-          :label="$t('applications.trier')"
-          icon-left="sort-amount-down"
-          outlined
-          type="is-dark"
-          @click="showSort = !showSort"
+            :disabled="isLoading"
+            :label="$t('applications.trier')"
+            icon-left="sort-amount-down"
+            outlined
+            type="is-dark"
+            @click="showSort = !showSort"
         ></b-button>
       </div>
       <div class="column is-5-desktop is-4-tablet">
         <b-button
-          v-if="Object.keys(authReferences).length !== 0"
-          :disabled="isLoading"
-          :label="$t('applications.filter')"
-          icon-left="filter"
-          inverted
-          outlined
-          type="is-light"
-          @click="
+            v-if="Object.keys(authReferences).length !== 0"
+            :disabled="isLoading"
+            :label="$t('applications.filter')"
+            icon-left="filter"
+            inverted
+            outlined
+            type="is-light"
+            @click="
             showFilter = !showFilter;
             showAdvancedSearch = false;
           "
         ></b-button>
         <b-tooltip :label="$t('applications.advancedFilter')" position="is-right">
           <b-button
-            :disabled="isLoading"
-            :icon-left="Object.keys(authReferences).length !== 0 ? 'bars' : 'filter'"
-            :label="Object.keys(authReferences).length !== 0 ? '' : $t('applications.filter')"
-            inverted
-            outlined
-            type="is-light"
-            @click="
+              :disabled="isLoading"
+              :icon-left="Object.keys(authReferences).length !== 0 ? 'bars' : 'filter'"
+              :label="Object.keys(authReferences).length !== 0 ? '' : $t('applications.filter')"
+              inverted
+              outlined
+              type="is-light"
+              @click="
               showFilter = false;
               showAdvancedSearch = !showAdvancedSearch;
             "
@@ -139,43 +155,43 @@
       </div>
       <div class="column is-2-desktop is-4-tablet">
         <b-button icon-left="redo" outlined type="is-danger" @click="reInit"
-          >{{ $t("dataTypesManagement.réinitialiser") }}
+        >{{ $t("dataTypesManagement.réinitialiser") }}
           {{ $t("dataTypesManagement.all") }}
         </b-button>
       </div>
     </div>
     <div
-      v-if="showSort"
-      class="notification"
-      role="search"
-      style="background-color: rgba(0, 163, 166, 0.1)"
+        v-if="showSort"
+        class="notification"
+        role="search"
+        style="background-color: rgba(0, 163, 166, 0.1)"
     >
       <h2>{{ $t("applications.trier") }}</h2>
       <div class="content">
         <div class="columns is-multiline">
           <div class="column is-9-widescreen is-12-desktop">
             <b-tabs
-              v-model="activeTab"
-              :multiline="true"
-              position="is-centered"
-              style="text-transform: capitalize; text-decoration: none"
-              type="is-boxed"
+                v-model="activeTab"
+                :multiline="true"
+                position="is-centered"
+                style="text-transform: capitalize; text-decoration: none"
+                type="is-boxed"
             >
               <template v-for="variable in variables" class="row variableComponent">
                 <b-tab-item
-                  :key="variable.id"
-                  :label="variable.id"
-                  style="text-transform: capitalize"
+                    :key="variable.id"
+                    :label="variable.id"
+                    style="text-transform: capitalize"
                 >
                   <div
-                    v-for="(variableComponent, index) in variableComponentsListToSort"
-                    :key="index"
-                    :class="variableComponent.order"
-                    class="row variableComponent"
+                      v-for="(variableComponent, index) in variableComponentsListToSort"
+                      :key="index"
+                      :class="variableComponent.order"
+                      class="row variableComponent"
                   >
                     <div
-                      v-if="variableComponent.variableComponentKey.variable === variable.id"
-                      class="columns"
+                        v-if="variableComponent.variableComponentKey.variable === variable.id"
+                        class="columns"
                     >
                       <div class="column orderLabel">
                         {{ variableComponent.variableComponentKey.variable }}
@@ -184,20 +200,20 @@
                       </div>
                       <div>
                         <b-button
-                          class="column asc"
-                          style="margin: 10px; border-color: #dbdbdb"
-                          type="is-white"
-                          @click="addVariableComponentToSortedList(variableComponent, 'ASC')"
+                            class="column asc"
+                            style="margin: 10px; border-color: #dbdbdb"
+                            type="is-white"
+                            @click="addVariableComponentToSortedList(variableComponent, 'ASC')"
                         >
                           {{ $t("dataTypesManagement.ASC") }}
                         </b-button>
                       </div>
                       <div style="margin-right: 10px">
                         <b-button
-                          class="column desc"
-                          style="margin: 10px; border-color: #dbdbdb"
-                          type="is-white"
-                          @click="addVariableComponentToSortedList(variableComponent, 'DESC')"
+                            class="column desc"
+                            style="margin: 10px; border-color: #dbdbdb"
+                            type="is-white"
+                            @click="addVariableComponentToSortedList(variableComponent, 'DESC')"
                         >
                           {{ $t("dataTypesManagement.DESC") }}
                         </b-button>
@@ -211,18 +227,18 @@
           <div class="column is-3-widescreen is-12-desktop">
             <draggable class="rows">
               <div
-                v-for="(variableComponent, index) in params.variableComponentOrderBy"
-                :key="index"
-                :class="variableComponent.order"
-                class="row"
+                  v-for="(variableComponent, index) in params.variableComponentOrderBy"
+                  :key="index"
+                  :class="variableComponent.order"
+                  class="row"
               >
                 <div
-                  :id="
+                    :id="
                     variableComponent.variableComponentKey.variable +
                     variableComponent.variableComponentKey.component
                   "
-                  class="control column"
-                  style="padding: 6px"
+                    class="control column"
+                    style="padding: 6px"
                 >
                   <div class="tags has-addons">
                     <span class="tag is-dark grape" style="font-size: 1rem">
@@ -236,9 +252,9 @@
                       {{ variableComponent.order }}
                     </span>
                     <a
-                      class="tag is-delete is-dark"
-                      style="font-size: 1rem; color: white"
-                      @click="
+                        class="tag is-delete is-dark"
+                        style="font-size: 1rem; color: white"
+                        @click="
                         deleteTag(
                           variableComponent.variableComponentKey.variable,
                           variableComponent.variableComponentKey.component
@@ -253,13 +269,13 @@
               <div class="columns">
                 <div class="column">
                   <b-button expanded icon-left="redo" outlined type="is-danger" @click="clearOrder"
-                    >{{ $t("dataTypesManagement.réinitialiser") }}
+                  >{{ $t("dataTypesManagement.réinitialiser") }}
                     {{ $t("dataTypesManagement.tri") }}
                   </b-button>
                 </div>
                 <div class="column">
                   <b-button expanded icon-left="check" outlined type="is-dark" @click="initDatatype"
-                    >{{ $t("dataTypesManagement.validate") }}
+                  >{{ $t("dataTypesManagement.validate") }}
                     {{ $t("dataTypesManagement.tri") }}
                   </b-button>
                 </div>
@@ -272,45 +288,45 @@
     <div v-if="showFilter" class="notification" role="search">
       <h2>{{ $t("applications.filter") }}</h2>
       <div
-        v-if="authorizationScopesMenus !== null"
-        class="notification is-flex is-flex-direction-column is-fullwidth"
+          v-if="authorizationScopesMenus !== null"
+          class="notification is-flex is-flex-direction-column is-fullwidth"
       >
         <AuthorizationScopesMenu
-          v-for="n in authorizationScopesMenusCount"
-          :key="n"
-          v-model="authorizationDescriptions[n - 1]"
-          :application="application"
-          :authReferences="authReferences"
-          :index="n"
-          class="tile is-3 is-fullwidth"
-          style="width: 100%"
-          @update-date="updateDate(n - 1, $event.value, $event.type)"
-          @update-search="authFilter[$event.index - 1] = $event.selecteds"
+            v-for="n in authorizationScopesMenusCount"
+            :key="n"
+            v-model="authorizationDescriptions[n - 1]"
+            :application="application"
+            :authReferences="authReferences"
+            :index="n"
+            class="tile is-3 is-fullwidth"
+            style="width: 100%"
+            @update-date="updateDate(n - 1, $event.value, $event.type)"
+            @update-search="authFilter[$event.index - 1] = $event.selecteds"
         />
         <b-button
-          v-if="visible"
-          :label="$t('dataTypesManagement.add_filter')"
-          class="is-primary"
-          icon-left="plus"
-          size="small"
-          @click="addAuthorizationMenus"
+            v-if="visible"
+            :label="$t('dataTypesManagement.add_filter')"
+            class="is-primary"
+            icon-left="plus"
+            size="small"
+            @click="addAuthorizationMenus"
         />
         <b-button
-          v-if="authorizationScopesMenusCount > 1"
-          :label="$t('dataTypesManagement.remove_filter')"
-          class="is-warning"
-          icon-left="minus"
-          size="small"
-          @click="removeAuthorizationMenus"
+            v-if="authorizationScopesMenusCount > 1"
+            :label="$t('dataTypesManagement.remove_filter')"
+            class="is-warning"
+            icon-left="minus"
+            size="small"
+            @click="removeAuthorizationMenus"
         />
       </div>
       <div class="columns">
         <div
-          class="column is-offset-10-widescreen is-offset-9-desktop is-2-widescreen is-3-desktop"
+            class="column is-offset-10-widescreen is-offset-9-desktop is-2-widescreen is-3-desktop"
         >
           <p class="control">
             <b-button expanded icon-left="check" outlined type="is-dark" @click="addSearch"
-              >{{ $t("dataTypesManagement.validate") }}
+            >{{ $t("dataTypesManagement.validate") }}
               {{ $t("dataTypesManagement.filtre") }}
             </b-button>
           </p>
@@ -321,16 +337,16 @@
       <h2 class="columns">{{ $t("applications.advancedFilter") }}</h2>
       <div class="columns is-multiline">
         <div
-          v-for="(variable, index) in variables"
-          :key="variable.id"
-          :variable="variable.id"
-          class="column is-2-widescreen is-6-desktop is-12-tablet"
+            v-for="(variable, index) in variables"
+            :key="variable.id"
+            :variable="variable.id"
+            class="column is-2-widescreen is-6-desktop is-12-tablet"
         >
           <b-collapse
-            :open="isOpen === index"
-            animation="slide"
-            class="card"
-            @open="isOpen = index"
+              :open="isOpen === index"
+              animation="slide"
+              class="card"
+              @open="isOpen = index"
           >
             <template #trigger="props">
               <div class="card-header" role="button">
@@ -344,62 +360,61 @@
             </template>
             <div class="card-content" style="padding-bottom: 12px; padding-top: 12px">
               <div
-                v-for="(component, index) in variableComponents"
-                :key="`${index}`"
-                :component="component.component"
-                :variable="component.variable"
-                class="content"
-                style="margin-bottom: 10px"
+                  v-for="(component, index) in variableComponents"
+                  :key="`${index}`"
+                  :component="component.component"
+                  :variable="component.variable"
+                  class="content"
+                  style="margin-bottom: 10px"
               >
                 <b-field v-if="variable.id === component.variable" :label="component.component">
                   <b-field v-if="'date' === component.type || 'numeric' === component.type">
                     <CollapsibleInterval
-                      :variable-component="component"
-                      @setting_interval="addVariableSearchs"
+                        :variable-component="component"
+                        @setting_interval="addVariableSearchs"
                     ></CollapsibleInterval>
                     <b-input
-                      v-model="search[component.variable + '_' + component.component]"
-                      :placeholder="$t('dataTypeAuthorizations.search')"
-                      autocomplete="off"
-                      class="is-primary"
-                      icon="search"
-                      type="search"
-                      @blur="addVariableSearchs(component)"
+                        v-model="search[component.variable + '_' + component.component]"
+                        :placeholder="$t('dataTypeAuthorizations.search')"
+                        autocomplete="off"
+                        class="is-primary"
+                        icon="search"
+                        type="search"
+                        @blur="addVariableSearchs(component)"
                     ></b-input>
                   </b-field>
                   <b-field
-                    v-else-if="'reference' === component.type"
-                    @click.native="recalculate(component)"
+                      v-else-if="'reference' === component.type"
+                      @click.native="recalculate(component)"
                   >
                     <b-autocomplete
-                      v-model="search[component.variable + '_' + component.component]"
-                      :data="searchValueReference"
-                      :placeholder="$t('dataTypeAuthorizations.search')"
-                      class="is-primary"
-                      icon="search"
-                      open-on-focus
-                      type="search"
-                      @blur="addVariableSearchs(component)"
-                      @select="
+                        v-model="search[component.variable + '_' + component.component]"
+                        :data="searchValueReference"
+                        :placeholder="$t('dataTypeAuthorizations.search')"
+                        class="is-primary"
+                        icon="search"
+                        open-on-focus
+                        type="search"
+                        @blur="addVariableSearchs(component)"
+                        @select="
                         (option) => {
                           search[component.variable + '_' + component.component] = option;
                           addVariableSearchs(component, option);
                         }
                       "
-                      @keyup.native="recalculate(component)"
+                        @keyup.native="recalculate(component)"
                     >
                     </b-autocomplete>
                   </b-field>
                   <b-field v-else>
                     <b-input
-                      v-model="search[component.variable + '_' + component.component]"
-                      :placeholder="$t('dataTypeAuthorizations.search')"
-                      autocomplete="off"
-                      class="is-primary"
-                      icon="search"
-                      type="search"
-                      @click.native="addVariableSearchs(component)"
-                      @keyup.native="addVariableSearchs(component)"
+                        v-model="search[component.variable + '_' + component.component]"
+                        :placeholder="$t('dataTypeAuthorizations.search')"
+                        autocomplete="off"
+                        class="is-primary"
+                        icon="search"
+                        type="search"
+                        @blur="addVariableSearchs(component)"
                     ></b-input>
                   </b-field>
                 </b-field>
@@ -410,11 +425,11 @@
       </div>
       <b-field>
         <b-switch
-          v-model="params.variableComponentFilters.isRegex"
-          :false-value="$t('dataTypesManagement.refuse')"
-          :true-value="$t('dataTypesManagement.accepted')"
-          passive-type="is-dark"
-          type="is-primary"
+            v-model="params.variableComponentFilters.isRegex"
+            :false-value="$t('dataTypesManagement.refuse')"
+            :true-value="$t('dataTypesManagement.accepted')"
+            passive-type="is-dark"
+            type="is-primary"
         >
           {{ $t("ponctuation.regEx") }} {{ params.variableComponentFilters.isRegex }}
         </b-switch>
@@ -425,13 +440,14 @@
           <b-field group-multiline grouped>
             <b-taglist>
               <div
-                v-for="(variableComponent, index) in params.variableComponentFilters"
-                :key="index"
+                  v-for="(variableComponent, index) in params.variableComponentFilters"
+                  :key="index"
               >
                 <b-tag
-                  rounded
-                  size="is-medium"
-                  style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
+                    v-if="variableComponent.filter !==null"
+                    rounded
+                    size="is-medium"
+                    style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
                 >
                   {{ variableComponent.variableComponentKey.variable }}
                   {{ $t("ponctuation.colon") }}
@@ -439,20 +455,35 @@
                   {{ $t("ponctuation.arrow-right") }}
                   {{ variableComponent.filter }}
                 </b-tag>
+                <b-tag
+                    v-else
+                    rounded
+                    size="is-medium"
+                    style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px"
+                >
+                  {{ variableComponent.variableComponentKey.variable }}
+                  {{ $t("ponctuation.colon") }}
+                  {{ variableComponent.variableComponentKey.component }}
+                  {{ $t("ponctuation.arrow-right") }}
+                  {{ $t("dataTypeAuthorizations.from") }}
+                  {{ variableComponent.intervalValues.from }}
+                  {{ $t("dataTypeAuthorizations.to") }}
+                  {{ variableComponent.intervalValues.to }}
+                </b-tag>
               </div>
             </b-taglist>
           </b-field>
         </div>
         <div class="column is-2-widescreen is-3-desktop">
           <b-button expanded icon-left="redo" outlined type="is-danger" @click="clearSearch"
-            >{{ $t("dataTypesManagement.réinitialiser") }}
+          >{{ $t("dataTypesManagement.réinitialiser") }}
             {{ $t("dataTypesManagement.filtre") }}
           </b-button>
         </div>
         <div class="column is-2-widescreen is-3-desktop">
           <p class="control">
             <b-button expanded icon-left="check" outlined type="is-dark" @click="addSearch"
-              >{{ $t("dataTypesManagement.validate") }}
+            >{{ $t("dataTypesManagement.validate") }}
               {{ $t("dataTypesManagement.filtre") }}
             </b-button>
           </p>
@@ -469,43 +500,43 @@
             </div>
             <div class="columns">
               <b-button icon-left="redo" type="is-danger" @click="reInit"
-                >{{ $t("dataTypesManagement.réinitialiser") }}
+              >{{ $t("dataTypesManagement.réinitialiser") }}
               </b-button>
             </div>
           </caption>
           <thead v-else style="text-transform: capitalize; text-align: center">
-            <tr class="DataSetTableView-variable-row">
-              <th
+          <tr class="DataSetTableView-variable-row">
+            <th
                 v-for="variable in columnsVariableToBeShown"
                 :key="variable.id"
                 :colspan="colspan(variable)"
                 :variable="variable.id"
-              >
-                {{ variable.label }}
-              </th>
-            </tr>
-            <tr>
-              <th
+            >
+              {{ variable.label }}
+            </th>
+          </tr>
+          <tr>
+            <th
                 v-for="(comp, index) in columnsVariableComponentsToBeShown"
                 :key="`${comp.label}-${index}`"
                 :component="comp.component"
                 :variable="comp.variable"
-              >
-                {{ comp.label }}
-              </th>
-            </tr>
+            >
+              {{ comp.label }}
+            </th>
+          </tr>
           </thead>
           <tbody>
-            <tr v-for="(row, rowIndex) in rows" :key="row.rowId" :rowId="row.rowId">
-              <td
+          <tr v-for="(row, rowIndex) in rows" :key="row.rowId" :rowId="row.rowId">
+            <td
                 v-for="(component, index) in columnsVariableComponentsToBeShown"
                 :key="`row_${rowIndex}-${index}`"
                 :component="component.component"
                 :variable="component.variable"
                 style="vertical-align: middle"
-              >
+            >
                 <span
-                  v-if="
+                    v-if="
                     !testMultiplicity(component.variable, component.component) &&
                     row[component.variable][component.component] &&
                     component.checker &&
@@ -514,47 +545,47 @@
                 >
                   {{ datePatternLang(row[component.variable][component.component], component.format) }}
                 </span>
-                <span
+              <span
                   v-else-if="
                     row[component.variable][component.computedComponent] &&
                     component.checker &&
                     component.checker.checkerDescription.params.pattern &&
                     !testMultiplicity(component.variable, component.component)
                   "
-                >
+              >
                   {{ datePatternLang(row[component.variable][component.component], component.format) }}
                 </span>
-                <span v-else>
+              <span v-else>
                   <ReferencesManyLink
-                    v-if="testMultiplicity(component.variable, component.component)"
-                    :application="application"
-                    :column-id="getDisplay(row, component.variable, component.component)"
-                    :info-values="getValuesRow(row[component.variable][component.component])"
-                    :loaded-references-by-key="{}"
-                    :multiplicity="true"
-                    :reference-type="getRefType(component.checker)"
+                      v-if="testMultiplicity(component.variable, component.component)"
+                      :application="application"
+                      :column-id="getDisplay(row, component.variable, component.component)"
+                      :info-values="getValuesRow(row[component.variable][component.component])"
+                      :loaded-references-by-key="{}"
+                      :multiplicity="true"
+                      :reference-type="getRefType(component.checker)"
                   ></ReferencesManyLink>
                   <ReferencesLink
-                    v-else-if="getRefsLinkedToId(row, component)"
-                    :application="application"
-                    :column-id="getDisplay(row, component.variable, component.component)"
-                    :column-title="row[component.variable][component.component]"
-                    :component="component.component"
-                    :loaded-references-by-key="{}"
-                    :reference-type="component.checker.fieldType.refType"
-                    :reference-value="component.checker.fieldType.referenceValues"
-                    :row="row"
-                    :value="
+                      v-else-if="getRefsLinkedToId(row, component)"
+                      :application="application"
+                      :column-id="getDisplay(row, component.variable, component.component)"
+                      :column-title="row[component.variable][component.component]"
+                      :component="component.component"
+                      :loaded-references-by-key="{}"
+                      :reference-type="component.checker.fieldType.refType"
+                      :reference-value="component.checker.fieldType.referenceValues"
+                      :row="row"
+                      :value="
                       referenceLineCheckers[component.variable + '_' + component.component]
                         ?.fieldType.value
                         ? referenceLineCheckers[component.variable + '_' + component.component]
                             ?.fieldType.value
                         : row[component.variable][component.component]
                     "
-                    :variable="component.variable"
+                      :variable="component.variable"
                   ></ReferencesLink>
                   <p
-                    v-else-if="
+                      v-else-if="
                       !getRefsLinkedToId(row, component) &&
                       row[component.variable][component.component]
                     "
@@ -562,7 +593,7 @@
                     {{ row[component.variable][component.component] }}
                   </p>
                   <p
-                    v-else-if="
+                      v-else-if="
                       !getRefsLinkedToId(row, component) &&
                       row[component.variable][component.computedComponent]
                     "
@@ -570,33 +601,33 @@
                     {{ row[component.variable][component.computedComponent] }}
                   </p>
                 </span>
-              </td>
-            </tr>
+            </td>
+          </tr>
           </tbody>
         </table>
       </div>
       <b-pagination
-        v-model="currentPage"
-        :aria-current-label="$t('menu.aria-curent-page')"
-        :aria-label="$t('menu.aria-pagination')"
-        :aria-next-label="$t('menu.aria-next-page')"
-        :aria-previous-label="$t('menu.aria-previous-page')"
-        :per-page="params.limit"
-        :rounded="true"
-        :total="totalRows"
-        order="is-centered"
-        range-after="3"
-        range-before="3"
-        role="navigation"
-        @change="changePage"
+          v-model="currentPage"
+          :aria-current-label="$t('menu.aria-curent-page')"
+          :aria-label="$t('menu.aria-pagination')"
+          :aria-next-label="$t('menu.aria-next-page')"
+          :aria-previous-label="$t('menu.aria-previous-page')"
+          :per-page="params.limit"
+          :rounded="true"
+          :total="totalRows"
+          order="is-centered"
+          range-after="3"
+          range-before="3"
+          role="navigation"
+          @change="changePage"
       >
       </b-pagination>
       <div class="buttons" style="margin-top: 16px">
         <b-button
-          style="margin-bottom: 15px; float: right"
-          type="is-primary"
-          @click.prevent="downloadResultSearch"
-          >{{ $t("dataTypesManagement.download") }}
+            style="margin-bottom: 15px; float: right"
+            type="is-primary"
+            @click.prevent="downloadResultSearch"
+        >{{ $t("dataTypesManagement.download") }}
         </b-button>
       </div>
     </div>
@@ -606,28 +637,28 @@
 <script>
 import PageView from "@/views/common/PageView.vue";
 import AuthorizationScopesMenu from "@/components/datatype/AuthorizationScopesMenu.vue";
-import { ApplicationResult } from "@/model/ApplicationResult";
-import SubMenu, { SubMenuPath } from "@/components/common/SubMenu.vue";
+import {ApplicationResult} from "@/model/ApplicationResult";
+import SubMenu, {SubMenuPath} from "@/components/common/SubMenu.vue";
 import CollapsibleInterval from "@/components/common/CollapsibleInterval.vue";
-import { DownloadDatasetQuery } from "@/model/application/DownloadDatasetQuery";
-import { VariableComponentFilters } from "@/model/application/VariableComponentFilters";
-import { VariableComponentKey } from "@/model/application/VariableComponentKey";
-import { IntervalValues } from "@/model/application/IntervalValues";
-import { VariableComponentOrderBy } from "@/model/application/VariableComponentOrderBy";
+import {DownloadDatasetQuery} from "@/model/application/DownloadDatasetQuery";
+import {VariableComponentFilters} from "@/model/application/VariableComponentFilters";
+import {VariableComponentKey} from "@/model/application/VariableComponentKey";
+import {IntervalValues} from "@/model/application/IntervalValues";
+import {VariableComponentOrderBy} from "@/model/application/VariableComponentOrderBy";
 import draggable from "vuedraggable";
 import ReferencesLink from "@/components/references/ReferencesLink.vue";
 import ReferencesManyLink from "@/components/references/ReferencesManyLink.vue";
 import TagsCollapse from "@/components/common/TagsCollapse.vue";
 import LoadingAnimate from "@/components/common/LoadingAnimate.vue";
-import { LOCAL_STORAGE_LANG } from "@/services/Fetcher";
-import { Authorization } from "@/model/authorization/Authorization";
+import {LOCAL_STORAGE_LANG} from "@/services/Fetcher";
+import {Authorization} from "@/model/authorization/Authorization";
 import useBoolean from "@/composable/components/boolean";
 import useNumber from "@/composable/components/number";
 import useObject from "@/composable/components/object";
-import { computed, onMounted } from "vue";
+import {computed, onMounted} from "vue";
 import useArray from "@/composable/components/array";
 import services from "@/composable/services";
-import { i18n } from "@/main";
+import {i18n} from "@/main";
 import app from "@/main";
 import { buildTagsForVariables } from "@/composable/application/tags";
 import { datePatternLang } from "@/composable/application/DatePattern";
@@ -660,57 +691,57 @@ export default {
 
   setup(props) {
     // dans onMounted()
-    const { shallowRefArray: subMenuPaths, doChangeArray: changeSubMenuPaths } = useArray();
+    const {shallowRefArray: subMenuPaths, doChangeArray: changeSubMenuPaths} = useArray();
     // dans onMounted() -> init()
-    const { refBoolean: isLoading, doChangeBoolean: changeIsLoading } = useBoolean();
-    const { reactiveObject: application, doChangeObject: changeApplication } = useObject(
-      new ApplicationResult()
+    const {refBoolean: isLoading, doChangeBoolean: changeIsLoading} = useBoolean();
+    const {reactiveObject: application, doChangeObject: changeApplication} = useObject(
+        new ApplicationResult()
     );
     // dans onMounted() -> init() -> initDataType()
-    const { refBoolean: showSort, doChangeBoolean: changeShowSort } = useBoolean();
-    const { reactiveObject: params, doChangeObject: changeParams } = useObject(
-      new DownloadDatasetQuery({
-        application: null,
-        applicationNameOrId: props.applicationName,
-        dataType: props.dataTypeId,
-        offset: 0,
-        limit: 10,
-        variableComponentSelects: [],
-        variableComponentFilters: [],
-        variableComponentOrderBy: [],
-        authorizationDescriptions: [],
-      })
+    const {refBoolean: showSort, doChangeBoolean: changeShowSort} = useBoolean();
+    const {reactiveObject: params, doChangeObject: changeParams} = useObject(
+        new DownloadDatasetQuery({
+          application: null,
+          applicationNameOrId: props.applicationName,
+          dataType: props.dataTypeId,
+          offset: 0,
+          limit: 10,
+          variableComponentSelects: [],
+          variableComponentFilters: [],
+          variableComponentOrderBy: [],
+          authorizationDescriptions: [],
+        })
     );
-    const { reactiveObject: refsLinkedTo, doChangeObject: changeRefsLinkedTo } = useObject();
-    const { shallowRefArray: referenceLineCheckers, doChangeArray: changeReferenceLineCheckers } =
-      useArray();
-    const { shallowRefArray: rows, doChangeArray: changeRows } = useArray();
-    const { refNumber: totalRows, doChangeNumber: changeTotalRows } = useNumber(-1);
-    const { shallowRefArray: variables, doChangeArray: changeVariables } = useArray();
-    const { shallowRefArray: variableComponents, doChangeArray: changeVariableComponents } =
-      useArray();
+    const {reactiveObject: refsLinkedTo, doChangeObject: changeRefsLinkedTo} = useObject();
+    const {shallowRefArray: referenceLineCheckers, doChangeArray: changeReferenceLineCheckers} =
+        useArray();
+    const {shallowRefArray: rows, doChangeArray: changeRows} = useArray();
+    const {refNumber: totalRows, doChangeNumber: changeTotalRows} = useNumber(-1);
+    const {shallowRefArray: variables, doChangeArray: changeVariables} = useArray();
+    const {shallowRefArray: variableComponents, doChangeArray: changeVariableComponents} =
+        useArray();
     const {
       shallowRefArray: variableComponentsListToSort,
       doChangeArray: changeVariableComponentsListToSort,
     } = useArray();
     const mapVariableIndexByColumnIndex = new Map();
     // dans onMounted() -> init() -> initDataType() -> partitionReferencesValues()
-    const { shallowRefArray: references } = useArray();
+    const {shallowRefArray: references} = useArray();
     // dans onMounted() -> init() -> initDataType() -> initAuthorizationScopeMenus()
-    const { reactiveObject: authReferences, doChangeObject: changeAuthReferences } = useObject();
+    const {reactiveObject: authReferences, doChangeObject: changeAuthReferences} = useObject();
     const {
       reactiveObject: authorizationScopesMenus,
       doChangeObject: changeAuthorizationScopesMenus,
     } = useObject();
     // dans onMounted() -> buildTags()
-    const { shallowRefArray: tagsColumn, doChangeArray: changeTagsColumn } = useArray();
+    const {shallowRefArray: tagsColumn, doChangeArray: changeTagsColumn} = useArray();
 
     // dans addAuthorizationMenus()
     const {
       refNumber: authorizationScopesMenusCount,
       doChangeNumber: changeAuthorizationScopesMenusCount,
     } = useNumber(1);
-    const { shallowRefArray: authFilter, doChangeArray: changeAuthFilter } = useArray([{}]);
+    const {shallowRefArray: authFilter, doChangeArray: changeAuthFilter} = useArray([{}]);
     const {
       shallowRefArray: authorizationDescriptions,
       doChangeArray: changeAuthorizationDescriptions,
@@ -718,51 +749,51 @@ export default {
     } = useArray([authorizationDescriptionsModel]);
 
     // dans addSearch()
-    const { refBoolean: showAdvancedSearch } = useBoolean();
+    const {refBoolean: showAdvancedSearch} = useBoolean();
     const {
       shallowRefArray: variableSearch,
       doChangeArray: changeVariableSearch,
       doAddToArray: addVariableSearch,
     } = useArray();
-    const { refBoolean: showFilter, doChangeBoolean: changeShowFilter } = useBoolean();
+    const {refBoolean: showFilter, doChangeBoolean: changeShowFilter} = useBoolean();
 
     // dans updateDate()
-    const { refBoolean: visible, doChangeBoolean: changeVisible } = useBoolean();
+    const {refBoolean: visible, doChangeBoolean: changeVisible} = useBoolean();
 
     // dans getReferenceValues()
-    const { reactiveObject: loadedReferences, doChangeObject: changeLoadedReferences } =
-      useObject();
+    const {reactiveObject: loadedReferences, doChangeObject: changeLoadedReferences} =
+        useObject();
 
     // dans recalculate()
-    const { shallowRefArray: searchValueReference, doChangeArray: changeSearchValueReference } =
-      useArray();
-    const { reactiveObject: search } = useObject();
+    const {shallowRefArray: searchValueReference, doChangeArray: changeSearchValueReference} =
+        useArray();
+    const {reactiveObject: search} = useObject();
 
-    const { refNumber: currentPage } = useNumber(1);
-    const { refNumber: activeTab } = useNumber();
-    const { refNumber: isOpen } = useNumber();
+    const {refNumber: currentPage} = useNumber(1);
+    const {refNumber: activeTab} = useNumber();
+    const {refNumber: isOpen} = useNumber();
     const columnsVariableToBeShown = computed(() =>
-      services.tagService.toBeShown(tagsColumn.value, variables.value)
+        services.tagService.toBeShown(tagsColumn.value, variables.value)
     );
     const columnsVariableComponentsToBeShown = computed(() =>
-      services.tagService.toBeShown(tagsColumn.value, variableComponents.value)
+        services.tagService.toBeShown(tagsColumn.value, variableComponents.value)
     );
 
     onMounted(async () => {
       await init();
       changeSubMenuPaths([
         new SubMenuPath(
-          i18n.t("dataTypesManagement.data-types").toLowerCase(),
-          () => app.$router.push(`"/applications/${props.applicationName}/dataTypes"`),
-          () => app.$router.push(`/applications`)
+            i18n.t("dataTypesManagement.data-types").toLowerCase(),
+            () => app.$router.push(`"/applications/${props.applicationName}/dataTypes"`),
+            () => app.$router.push(`/applications`)
         ),
         new SubMenuPath(
-          props.dataTypeId,
-          () =>
-            app.$router.push(
-              `/applications/${props.applicationName}/dataTypes/${props.dataTypeId}`
-            ),
-          () => app.$router.push(`/applications/${props.applicationName}/dataTypes`)
+            props.dataTypeId,
+            () =>
+                app.$router.push(
+                    `/applications/${props.applicationName}/dataTypes/${props.dataTypeId}`
+                ),
+            () => app.$router.push(`/applications/${props.applicationName}/dataTypes`)
         ),
       ]);
       changeTagsColumn(buildTagsForVariables(application, variables, variableComponents));
@@ -778,18 +809,18 @@ export default {
     async function init() {
       changeIsLoading(true);
       changeApplication(
-        await services.applicationService.getApplication(props.applicationName, [
-          "CONFIGURATION",
-          "DATATYPE",
-        ])
+          await services.applicationService.getApplication(props.applicationName, [
+            "CONFIGURATION",
+            "DATATYPE",
+          ])
       );
       changeApplication({
         ...application,
         localName:
-          services.internationalisationService.mergeInternationalization(application).localName,
+        services.internationalisationService.mergeInternationalization(application).localName,
         localDatatypeName: services.internationalisationService.localeDataTypeIdName(
-          application,
-          application.dataTypes[props.dataTypeId]
+            application,
+            application.dataTypes[props.dataTypeId]
         ),
       });
       await initDatatype();
@@ -798,61 +829,61 @@ export default {
     async function initDatatype() {
       changeShowSort(false);
       const dataTypes = await services.dataService.getDataType(
-        props.applicationName,
-        props.dataTypeId,
-        params
+          props.applicationName,
+          props.dataTypeId,
+          params
       );
       if (
-        params.variableComponentFilters.length !== 0 ||
-        params.variableComponentOrderBy.length !== 0
+          params.variableComponentFilters.length !== 0 ||
+          params.variableComponentOrderBy.length !== 0
       ) {
         changeIsLoading(true);
       }
       changeReferenceLineCheckers(dataTypes.checkedFormatVariableComponents.ReferenceType);
 
       changeRefsLinkedTo(
-        dataTypes.rows.reduce((acc, d) => {
-          acc[d.rowId] = d.refsLinkedTo;
-          return acc;
-        }, {})
+          dataTypes.rows.reduce((acc, d) => {
+            acc[d.rowId] = d.refsLinkedTo;
+            return acc;
+          }, {})
       );
       changeTotalRows(dataTypes.totalRows);
       changeRows(
-        dataTypes.rows.map((r) => {
-          return { rowId: r.rowId, ...r.values };
-        })
+          dataTypes.rows.map((r) => {
+            return {rowId: r.rowId, ...r.values};
+          })
       );
 
       const variablesModels = application.dataTypes[props.dataTypeId].variables;
       changeVariables(dataTypes.variables.map((v) => variablesModels[v]));
       changeVariableComponents(
-        variables.value
-          .map((v) => {
-            return Object.values(v.components).map((c) =>
-              Object.assign(c, {
-                variable: v.label,
-                component: c.id,
-                ...getVariableComponentInfos(v.label, c.id, dataTypes),
+          variables.value
+              .map((v) => {
+                return Object.values(v.components).map((c) =>
+                    Object.assign(c, {
+                      variable: v.label,
+                      component: c.id,
+                      ...getVariableComponentInfos(v.label, c.id, dataTypes),
+                    })
+                );
               })
-            );
-          })
-          .flat()
+              .flat()
       );
       changeVariableComponentsListToSort(
-        variables.value
-          .map((v) => {
-            return Object.keys(v.components).reduce((acc, comp) => {
-              return [
-                ...acc,
-                {
-                  variableComponentKey: { variable: v.id, component: comp },
-                  order: null,
-                  ...getVariableComponentInfos(v.id, comp, dataTypes),
-                },
-              ];
-            }, []);
-          })
-          .flat()
+          variables.value
+              .map((v) => {
+                return Object.keys(v.components).reduce((acc, comp) => {
+                  return [
+                    ...acc,
+                    {
+                      variableComponentKey: {variable: v.id, component: comp},
+                      order: null,
+                      ...getVariableComponentInfos(v.id, comp, dataTypes),
+                    },
+                  ];
+                }, []);
+              })
+              .flat()
       );
       let columnIndex = 0;
       variables.value.forEach((variable, variableIndex) => {
@@ -873,17 +904,17 @@ export default {
     async function reInit() {
       changeIsLoading(true);
       changeParams(
-        new DownloadDatasetQuery({
-          application: null,
-          applicationNameOrId: props.applicationName,
-          dataType: props.dataTypeId,
-          offset: 0,
-          limit: 15,
-          variableComponentSelects: [],
-          variableComponentFilters: [],
-          variableComponentOrderBy: [],
-          authorizationDescriptions: [],
-        })
+          new DownloadDatasetQuery({
+            application: null,
+            applicationNameOrId: props.applicationName,
+            dataType: props.dataTypeId,
+            offset: 0,
+            limit: 15,
+            variableComponentSelects: [],
+            variableComponentFilters: [],
+            variableComponentOrderBy: [],
+            authorizationDescriptions: [],
+          })
       );
       changeAuthorizationScopesMenusCount(1);
       changeAuthorizationDescriptions([authorizationDescriptionsModel]);
@@ -902,7 +933,7 @@ export default {
       } else {
         params.authorizationDescriptions = authFilter.value.map((_, index) => {
           let timeScope = authorizationDescriptions.value[index];
-          timeScope = { from: timeScope.from, to: timeScope.to };
+          timeScope = {from: timeScope.from, to: timeScope.to};
           let requiredAuthorizations = [{}];
           for (const auth of Object.keys(authReferences)) {
             requiredAuthorizations = setRequiredAuthorization(requiredAuthorizations, auth, index);
@@ -925,7 +956,7 @@ export default {
       let returnAuthorizations = [];
       requiredAuthorizations.forEach((ra) => {
         values.forEach((value) => {
-          let requiredAuthorization = { ...ra };
+          let requiredAuthorization = {...ra};
           requiredAuthorization[auth] = value;
           returnAuthorizations.push(requiredAuthorization);
         });
@@ -940,29 +971,29 @@ export default {
       let key = variableId + "_" + componentId;
       if (dataTypes.checkedFormatVariableComponents) {
         if (
-          dataTypes.checkedFormatVariableComponents.DateType &&
-          dataTypes.checkedFormatVariableComponents.DateType[key]
+            dataTypes.checkedFormatVariableComponents.DateType &&
+            dataTypes.checkedFormatVariableComponents.DateType[key]
         ) {
           type = "date";
           format = dataTypes.checkedFormatVariableComponents.DateType[key].fieldType.pattern;
           checker = dataTypes.checkedFormatVariableComponents.DateType[key];
         } else if (
-          dataTypes.checkedFormatVariableComponents.IntegerType &&
-          dataTypes.checkedFormatVariableComponents.IntegerType[key]
+            dataTypes.checkedFormatVariableComponents.IntegerType &&
+            dataTypes.checkedFormatVariableComponents.IntegerType[key]
         ) {
           type = "numeric";
           format = "integer";
           checker = dataTypes.checkedFormatVariableComponents.IntegerType[key];
         } else if (
-          dataTypes.checkedFormatVariableComponents.FloatType &&
-          dataTypes.checkedFormatVariableComponents.FloatType[key]
+            dataTypes.checkedFormatVariableComponents.FloatType &&
+            dataTypes.checkedFormatVariableComponents.FloatType[key]
         ) {
           type = "numeric";
           format = "float";
           checker = dataTypes.checkedFormatVariableComponents.FloatType[key];
         } else if (
-          dataTypes.checkedFormatVariableComponents.ReferenceType &&
-          dataTypes.checkedFormatVariableComponents.ReferenceType[key]
+            dataTypes.checkedFormatVariableComponents.ReferenceType &&
+            dataTypes.checkedFormatVariableComponents.ReferenceType[key]
         ) {
           type = "reference";
           format = "uuid";
@@ -987,30 +1018,30 @@ export default {
         for (let auth in dataType.authorization.authorizationScopes) {
           let vc = dataType.authorization.authorizationScopes[auth];
           let variables = dataType.data[vc.variable];
-          const reference = { ...variables.components, ...variables.computedComponents }[
-            vc.component
-          ].checker.params.refType;
+          const reference = {...variables.components, ...variables.computedComponents}[
+              vc.component
+              ].checker.params.refType;
           let ref = await getOrLoadReferences(reference);
           ret[auth] = ref;
         }
 
         let refs = Object.values(ret)
-          .reduce(
-            (acc, k) => [
-              ...acc,
-              ...k.referenceValues.reduce(
-                (a, b) => [...a, ...b.hierarchicalReference.split(".")],
-                acc
-              ),
-            ],
-            []
-          )
-          .reduce((a, b) => {
-            if (a.indexOf(b) < 0) {
-              a.push(b);
-            }
-            return a;
-          }, []);
+            .reduce(
+                (acc, k) => [
+                  ...acc,
+                  ...k.referenceValues.reduce(
+                      (a, b) => [...a, ...b.hierarchicalReference.split(".")],
+                      acc
+                  ),
+                ],
+                []
+            )
+            .reduce((a, b) => {
+              if (a.indexOf(b) < 0) {
+                a.push(b);
+              }
+              return a;
+            }, []);
         for (const refsKey in refs) {
           await getOrLoadReferences(refs[refsKey]);
         }
@@ -1021,17 +1052,17 @@ export default {
         changeAuthReferences(ret);
         let authorizationScopeMenus = {};
         let referenceforAuthorizationScope = Object.values(
-          dataType.authorization.authorizationScopes
+            dataType.authorization.authorizationScopes
         ).map(
-          (as) =>
-            (
-              dataType.data[as.variable]?.components[as.component] ||
-              dataType.data[as.variable]?.computedComponent[as.component]
-            ).checker.params.refType
+            (as) =>
+                (
+                    dataType.data[as.variable]?.components[as.component] ||
+                    dataType.data[as.variable]?.computedComponent[as.component]
+                ).checker.params.refType
         );
         changeAuthorizationScopesMenus({});
         for (let compositeReference of Object.values(
-          application.configuration.compositeReferences
+            application.configuration.compositeReferences
         )) {
           let components = [];
           for (let component of compositeReference.components) {
@@ -1050,9 +1081,9 @@ export default {
     }
 
     async function partitionReferencesValues(
-      referencesValues,
-      currentPath,
-      currentCompleteLocalName
+        referencesValues,
+        currentPath,
+        currentCompleteLocalName
     ) {
       let returnValues = {};
       for (const referenceValue of referencesValues) {
@@ -1082,7 +1113,7 @@ export default {
           localName = key;
         }
         let completeLocalName =
-          typeof currentCompleteLocalName === "undefined" ? "" : currentCompleteLocalName;
+            typeof currentCompleteLocalName === "undefined" ? "" : currentCompleteLocalName;
         completeLocalName = completeLocalName + (completeLocalName === "" ? "" : ",") + localName;
         let authPartition = returnValues[key] || {
           key,
@@ -1100,8 +1131,8 @@ export default {
         const auth = returnValues[returnValuesKey];
         let referenceValueLeaf = auth.referenceValues?.[0];
         if (
-          auth.referenceValues.length <= 1 &&
-          referenceValueLeaf.hierarchicalKey === auth.currentPath
+            auth.referenceValues.length <= 1 &&
+            referenceValueLeaf.hierarchicalKey === auth.currentPath
         ) {
           returnValues[returnValuesKey] = {
             ...auth,
@@ -1110,9 +1141,9 @@ export default {
           };
         } else {
           let r = await partitionReferencesValues(
-            auth.referenceValues,
-            auth.currentPath,
-            auth.completeLocalName
+              auth.referenceValues,
+              auth.currentPath,
+              auth.completeLocalName
           );
           returnValues[returnValuesKey] = {
             ...auth,
@@ -1127,8 +1158,8 @@ export default {
     async function getOrLoadReferences(reference) {
       if (!references[reference]) {
         references[reference] = await services.referenceService.getReferenceValues(
-          application.name,
-          reference
+            application.name,
+            reference
         );
       }
       return references[reference];
@@ -1176,8 +1207,8 @@ export default {
 
     function testMultiplicity(variable, component) {
       return (
-        application.configuration.dataTypes.bugs?.data[variable].components[component]?.checker
-          .params.multiplicity === "MANY"
+          application.configuration.dataTypes.bugs?.data[variable].components[component]?.checker
+              .params.multiplicity === "MANY"
       );
     }
 
@@ -1196,8 +1227,8 @@ export default {
     function updateDate(index, value, type) {
       authorizationDescriptions.value[index][type] = value;
       if (
-        authorizationDescriptions.value[index]?.from?.length !== undefined &&
-        authorizationDescriptions.value[index]?.to?.length !== undefined
+          authorizationDescriptions.value[index]?.from?.length !== undefined &&
+          authorizationDescriptions.value[index]?.to?.length !== undefined
       ) {
         changeVisible(true);
       }
@@ -1213,11 +1244,11 @@ export default {
     function addVariableComponentToSortedList(variableComponentSorted, order) {
       variableComponentSorted.order = variableComponentSorted.order === order ? null : order;
       params.variableComponentOrderBy = params.variableComponentOrderBy.filter(
-        (c) =>
-          c.variableComponentKey.variable !==
-            variableComponentSorted.variableComponentKey.variable ||
-          c.variableComponentKey.component !==
-            variableComponentSorted.variableComponentKey.component
+          (c) =>
+              c.variableComponentKey.variable !==
+              variableComponentSorted.variableComponentKey.variable ||
+              c.variableComponentKey.component !==
+              variableComponentSorted.variableComponentKey.component
       );
       if (variableComponentSorted.order) {
         params.variableComponentOrderBy.push(new VariableComponentOrderBy(variableComponentSorted));
@@ -1226,28 +1257,35 @@ export default {
 
     function deleteTag(variable, component) {
       params.variableComponentOrderBy = params.variableComponentOrderBy.filter(
-        (c) =>
-          c.variableComponentKey.variable !== variable ||
-          c.variableComponentKey.component !== component
+          (c) =>
+              c.variableComponentKey.variable !== variable ||
+              c.variableComponentKey.component !== component
       );
       params.variableComponentOrderBy.delete();
       document.getElementById(variable + component).remove();
     }
 
-    function recalculate(variableComponent) {
-      let { key, variable, component } = variableComponent;
-      let valueReference;
+    async function recalculate(variableComponent) {
+      let display = "__display_" + window.localStorage.lang;
+      let {key, variable, component} = variableComponent;
+      let valueReference = [];
       let value = search[key];
       changeSearchValueReference([]);
-      valueReference = Object.keys(
-        application.dataTypes[props.dataTypeId].variables[variable].components[component].checker
-          .fieldType.referenceValues
-      );
+      let refId = application.dataTypes[props.dataTypeId].variables[variable].components[component].checker
+          .fieldType.refType;
+      let reference = await services.referenceService.getReferenceValues(props.applicationName, refId);
+      for (let i = 0; i < reference.referenceValues.length; i++) {
+        if (reference.referenceValues[i].values[display]) {
+          valueReference.push(reference.referenceValues[i].values[display]);
+        } else {
+          valueReference.push(reference.referenceValues[i].naturalKey);
+        }
+      }
       if (value !== undefined) {
         changeSearchValueReference(
-          valueReference.filter((option) => {
-            return option.toString().indexOf(value) >= 0;
-          })
+            valueReference.filter((option) => {
+              return option.toString().indexOf(value) >= 0;
+            })
         );
       } else {
         changeSearchValueReference(valueReference);
@@ -1256,34 +1294,34 @@ export default {
 
     function getSortIcon(variable, component) {
       let icon = params.variableComponentOrderBy
-        .filter(
-          (c) =>
-            c.variableComponentKey.variable === variable &&
-            c.variableComponentKey.component === component
-        )
-        .map((vc) => {
-          if (vc.order === "ASC") {
-            return "arrow-down";
-          } else if (vc.order === "DESC") {
-            return "arrow-up";
-          } else {
-            return "";
-          }
-        })[0];
+          .filter(
+              (c) =>
+                  c.variableComponentKey.variable === variable &&
+                  c.variableComponentKey.component === component
+          )
+          .map((vc) => {
+            if (vc.order === "ASC") {
+              return "arrow-down";
+            } else if (vc.order === "DESC") {
+              return "arrow-up";
+            } else {
+              return "";
+            }
+          })[0];
       return icon ? icon : null;
     }
 
     function addVariableSearchs(variableComponent, option) {
-      let { key, variable, component, type, format } = variableComponent;
+      let {key, variable, component, type, format} = variableComponent;
       let isRegExp = params.variableComponentFilters.isRegex;
       if (option) {
         search[key] = option;
       }
       let value = search[key];
       params.variableComponentFilters = params.variableComponentFilters.filter(
-        (c) =>
-          c.variableComponentKey.variable !== variable ||
-          c.variableComponentKey.component !== component
+          (c) =>
+              c.variableComponentKey.variable !== variable ||
+              c.variableComponentKey.component !== component
       );
       let letSearch = null;
       if (variableComponent.intervalValues) {
@@ -1330,17 +1368,17 @@ export default {
     async function clearSearch() {
       if (showFilter.value) {
         changeParams(
-          new DownloadDatasetQuery({
-            application: null,
-            applicationNameOrId: props.applicationName,
-            dataType: props.dataTypeId,
-            offset: 0,
-            limit: 15,
-            variableComponentSelects: params.variableComponentSelects,
-            variableComponentFilters: params.variableComponentFilters,
-            variableComponentOrderBy: params.variableComponentOrderBy,
-            authorizationDescriptions: [],
-          })
+            new DownloadDatasetQuery({
+              application: null,
+              applicationNameOrId: props.applicationName,
+              dataType: props.dataTypeId,
+              offset: 0,
+              limit: 15,
+              variableComponentSelects: params.variableComponentSelects,
+              variableComponentFilters: params.variableComponentFilters,
+              variableComponentOrderBy: params.variableComponentOrderBy,
+              authorizationDescriptions: [],
+            })
         );
         changeAuthorizationScopesMenusCount(1);
         changeAuthorizationDescriptions([authorizationDescriptionsModel]);
@@ -1370,11 +1408,11 @@ export default {
       let lang = "__display_" + localStorage.getItem("lang");
       if (referenceLineCheckers.value[key]) {
         if (
-          referenceLineCheckers.value[key].referenceValues &&
-          referenceLineCheckers.value[key].referenceValues.refValues
+            referenceLineCheckers.value[key].referenceValues &&
+            referenceLineCheckers.value[key].referenceValues.refValues
         ) {
           const display =
-            referenceLineCheckers.value[key].referenceValues.refValues.evaluationContext.datum[lang];
+              referenceLineCheckers.value[key].referenceValues.refValues.evaluationContext.datum[lang];
           return display ? display : value;
         }
       }
@@ -1383,9 +1421,9 @@ export default {
 
     async function downloadResultSearch() {
       let csv = await services.dataService.getDataTypesCsv(
-        props.applicationName,
-        props.dataTypeId,
-        buildSearchParams()
+          props.applicationName,
+          props.dataTypeId,
+          buildSearchParams()
       );
       const hiddenElement = document.createElement("a");
       hiddenElement.href = csv.href;
@@ -1406,8 +1444,8 @@ export default {
         }
       } else {
         params.authorizationDescriptions = authorizationDescriptions.slice(
-          0,
-          authorizationScopesMenusCount
+            0,
+            authorizationScopesMenusCount
         );
       }
       return {
@@ -1429,23 +1467,23 @@ export default {
           refvalues = referenceLineCheckers[key].referenceValues.refValues.evaluationContext.datum;
         }
         if (!refvalues) {
-          let params = { _row_id_: [rowId] };
+          let params = {_row_id_: [rowId]};
           if (!refType) {
             params.any = true;
           }
           const reference = await services.referenceService.getReferenceValues(
-            props.applicationName,
-            refType,
-            params
+              props.applicationName,
+              refType,
+              params
           );
           refvalues = reference.referenceValues[0].values;
         }
         const data = Object.entries(refvalues)
-          .map((entry) => ({ colonne: entry[0], valeur: entry[1] }))
-          .reduce((acc, entry) => {
-            acc.push(entry);
-            return acc;
-          }, []);
+            .map((entry) => ({colonne: entry[0], valeur: entry[1]}))
+            .reduce((acc, entry) => {
+              acc.push(entry);
+              return acc;
+            }, []);
         const result = {};
         result[rowId] = {
           data: data,
@@ -1473,9 +1511,9 @@ export default {
 
     function getRefsLinkedToId(row, component) {
       return (
-        refsLinkedTo[row.rowId][component.variable] &&
-        (refsLinkedTo[row.rowId][component.variable][component.component] ||
-          refsLinkedTo[row.rowId][component.variable][component.computedComponent])
+          refsLinkedTo[row.rowId][component.variable] &&
+          (refsLinkedTo[row.rowId][component.variable][component.component] ||
+              refsLinkedTo[row.rowId][component.variable][component.computedComponent])
       );
     }