diff --git a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html
index 8e1164200c60de8cfd828cf9f45b9b294ceca407..278c0882db2c9f1b5a53d8013721b2e4b77c0057 100755
--- a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html
+++ b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html
@@ -46,6 +46,14 @@
                                     (keydown)="$event.stopPropagation()">
                             </mat-form-field>
                         </div>
+                        <button mat-menu-item (click)="saveSearchTemplate()" style="display: flex;align-items: center;">
+                            <div style="flex:1;">
+                                {{'lang.createSearchTemplate' | translate}}
+                            </div>
+                            <button mat-icon-button class="listModels-menu-delete">
+                                <mat-icon class="fa fa-copy" color="primary"></mat-icon>
+                            </button>
+                        </button>
                         <ng-container
                             *ngFor="let searchTemplate of searchTemplates | filterList:listFilter.value:'label'; let i=index">
                             <button mat-menu-item (click)="selectSearchTemplate(searchTemplate)"
@@ -62,10 +70,6 @@
                             </button>
                         </ng-container>
                     </mat-menu>
-                    <mat-icon class="far fa-copy"
-                        style="color: white; width: 30px; text-align: center; padding-top: 2px;"
-                        (click)="$event.stopPropagation();saveSearchTemplate()">
-                    </mat-icon>
                 </mat-panel-description>
             </mat-expansion-panel-header>
             <ng-container *ngIf="!loading; else loadingTemplate">
@@ -129,9 +133,9 @@
                             <mat-form-field class="input-form input-date" floatLabel="never" (click)="picker.open()"
                                 style="cursor:pointer;">
                                 <mat-date-range-input [rangePicker]="picker">
-                                    <input matStartDate placeholder="Début" [value]="field.control.value.start"
+                                    <input matStartDate [placeholder]="'lang.start' | translate" [value]="field.control.value.start"
                                         (dateChange)="field.control.value.start=$event.value">
-                                    <input matEndDate placeholder="Fin" [value]="field.control.value.end"
+                                    <input matEndDate [placeholder]="'lang.end' | translate" [value]="field.control.value.end"
                                         (dateChange)="field.control.value.end=$event.value">
                                 </mat-date-range-input>
                                 <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
diff --git a/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.html b/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.html
index 15ce5e73af9b64e233ec94b8bade3ae32d2c502d..621c91d0c2e5713e00aceb1c223b82dc6b2eced3 100755
--- a/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.html
+++ b/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.html
@@ -1,6 +1,9 @@
 <div class="mat-dialog-content-container">
     <h1 mat-dialog-title>{{'lang.searchTemplateCreation' | translate}}</h1>
     <mat-dialog-content>
+        <div class="alert-message alert-message-danger" role="alert" *ngIf="functions.empty(data.searchTemplate.query)">
+            {{'lang.noDataToSave' | translate}}
+        </div>
         <form #submitForm="ngForm" (ngSubmit)="onSubmit()">
             <div class="alert-message alert-message-info" role="alert" style="margin-top: 15px;">{{'lang.addSearchTemplateMsg' | translate}}
             </div>
@@ -13,7 +16,7 @@
     </mat-dialog-content>
     <mat-dialog-actions>
         <button mat-raised-button color="primary" type="submit" (click)="submitForm.ngSubmit.emit()"
-            [disabled]="!submitForm.form.valid">{{'lang.validate' | translate}}</button>
+            [disabled]="!submitForm.form.valid || functions.empty(data.searchTemplate.query)">{{'lang.validate' | translate}}</button>
         <button mat-raised-button color="default" type="button" (click)="dialogRef.close()">{{'lang.cancel' | translate}}</button>
     </mat-dialog-actions>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.ts b/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.ts
index 0917006da85bbf3b89c01440ed5e141f55742a62..7eaf9c4a73c614cea0179ca3249f6501e78546d3 100644
--- a/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.ts
+++ b/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.ts
@@ -5,6 +5,7 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
 import { NotificationService } from '../../../../service/notification/notification.service';
 import { tap, catchError } from 'rxjs/operators';
 import { of } from 'rxjs';
+import { FunctionsService } from '@service/functions.service';
 
 @Component({
     templateUrl: 'search-template-modal.component.html',
@@ -17,13 +18,11 @@ export class AddSearchTemplateModalComponent {
         public http: HttpClient,
         @Inject(MAT_DIALOG_DATA) public data: any,
         public dialogRef: MatDialogRef<AddSearchTemplateModalComponent>,
-        private notify: NotificationService) {
+        private notify: NotificationService,
+        public functions: FunctionsService) {
     }
 
-    ngOnInit(): void { }
-
     onSubmit() {
-        console.log(this.data.searchTemplate);
         this.http.post('../rest/searchTemplates', this.data.searchTemplate).pipe(
             tap((data: any) => {
                 this.data.searchTemplate.id = data.id;
diff --git a/src/lang/lang-en.json b/src/lang/lang-en.json
index cd19c59f59ff86d0953ce0dd61c0d55cef8db2ba..393dd7387e7d9e05fc3aeeeca4b71f5eb3054cc3 100644
--- a/src/lang/lang-en.json
+++ b/src/lang/lang-en.json
@@ -2014,5 +2014,8 @@
     "registeredMailRecipientSample": "MAARCH-LES-BAINS PATRICIA PETIT",
     "importRegisteredMails": "Import registered mail in mass",
     "confirmImportRegisteredMails": "Do you want to import <b>{{0}}</b> registered mail",
-    "columns": "columns"
+    "columns": "columns",
+    "start": "Début",
+    "end": "Fin",
+    "noDataToSave": "No data to save"
 }
diff --git a/src/lang/lang-fr.json b/src/lang/lang-fr.json
index d45bfae7695320c5a741ccf50a198db934be906d..f5e3e5cd77625fbf26b50258e12ca24d0f63310b 100644
--- a/src/lang/lang-fr.json
+++ b/src/lang/lang-fr.json
@@ -2023,5 +2023,9 @@
     "noIssuingSitesAvailaible": "Aucun site émetteur disponible",
     "true": "Oui",
     "false": "Non",
-    "columns": "colonnes"
+    "columns": "colonnes",
+    "start": "Début",
+    "end": "Fin",
+    "noDataToSave": "Aucune donnée à enregistrer",
+    "createSearchTemplate": "Enregistrer un modèle..."
 }