diff --git a/src/app/structure-list/components/search/search.component.ts b/src/app/structure-list/components/search/search.component.ts
index 0d5f4221bbfe42979894703a9bae0a9bdf28bdad..01799e3b7f5232e3c3e456abb55bca0f253abe20 100644
--- a/src/app/structure-list/components/search/search.component.ts
+++ b/src/app/structure-list/components/search/search.component.ts
@@ -26,7 +26,8 @@ export class SearchComponent implements OnInit {
   public searchForm: FormGroup;
   // Modal variable
   public categories: Category[];
-  public modalTypeOpened: string;
+  public modalTypeOpened: string; // todo: utiliser enum
+  public isOpenModal = false;
   // Checkbox variable
   public checkedModulesFilter: Module[];
 
@@ -113,8 +114,13 @@ export class SearchComponent implements OnInit {
   public openModal(option: string): void {
     this.categories = [];
     if (this.modalTypeOpened !== option) {
-      this.modalTypeOpened = option;
-      this.fakeData(option);
+      if (!this.isOpenModal) {
+        this.modalTypeOpened = option;
+        this.fakeData(option);
+        this.isOpenModal = true;
+      } else {
+        this.isOpenModal = false;
+      }
     } else {
       this.modalTypeOpened = null;
     }