diff --git a/src/frontend/app/administration/registered-mail/indexing/recipient-input.component.html b/src/frontend/app/administration/registered-mail/indexing/recipient-input.component.html
index 075248dffb4512c6a6d99dfe59de82da27e8e22e..f34154d8951a973cc5f6db32526209ebceaf3e40 100644
--- a/src/frontend/app/administration/registered-mail/indexing/recipient-input.component.html
+++ b/src/frontend/app/administration/registered-mail/indexing/recipient-input.component.html
@@ -1,34 +1,38 @@
-<mat-form-field *ngIf="this.control.status !== 'DISABLED'" appearance='outline' class="smallInput">
-    <button mat-button matSuffix [matMenuTriggerFor]="menuDep" (click)="$event.stopPropagation();"
-        [title]="'lang.targetDepartment' | translate">
-        {{addressBANCurrentDepartment}}&nbsp;<i class="fa fa-chevron-down"></i>
-    </button>
-    <mat-menu #menuDep="matMenu">
-        <button mat-menu-item *ngFor="let dep of departmentList"
-            (click)="addressBANCurrentDepartment = dep">{{dep}}</button>
-    </mat-menu>
-    <mat-icon color="primary" class="fa fa-search" matPrefix style="font-size: 15px;">
-    </mat-icon>
-    <input type="text" #autoCompleteInput [placeholder]="'lang.searchAddressBan' | translate" matInput
-        [formControl]="addressBANControl" [matAutocomplete]="auto" (click)="$event.stopPropagation()"
-        (focus)="resetAutocompleteAddressBan()" maxlength="128">
-    <mat-autocomplete #auto="matAutocomplete" (optionSelected)="selectAddressBan($event)">
-        <ng-container *ngIf="addressBANResult.length > 0 && !addressBANLoading">
-            <mat-option *ngFor="let addressBANResult of addressBANFilteredResult | async" [value]="addressBANResult"
-                [title]="addressBANResult.address">
-                {{addressBANResult.address}}
-            </mat-option>
-        </ng-container>
-        <mat-option class="autoCompleteInfoResult smallInputInfo"
-            *ngIf="addressBANResult.length === 0 && !addressBANLoading" disabled [innerHTML]="addressBANInfo">
-        </mat-option>
-        <mat-option *ngIf="addressBANLoading" disabled>
-            <mat-spinner diameter="20"></mat-spinner>
-        </mat-option>
-    </mat-autocomplete>
-</mat-form-field>
+<app-contact-autocomplete *ngIf="this.control.status !== 'DISABLED'"
+    [exclusion]="'?noUsers=true&noEntities=true&noContactsGroups=true'"
+    [inputMode]="true"
+    style="width:100%;" (afterSelected)="getContact($event)"></app-contact-autocomplete>
 <a *ngIf="!manualAddress && emptyAddress()" (click)="manualAddress=!manualAddress" style="cursor: pointer;">{{'lang.switchManualAddress' | translate}}</a>
 <mat-card color="primary" *ngIf="manualAddress">
+    <mat-form-field *ngIf="this.control.status !== 'DISABLED'" appearance='outline' class="smallInput">
+        <button mat-button matSuffix [matMenuTriggerFor]="menuDep" (click)="$event.stopPropagation();"
+            [title]="'lang.targetDepartment' | translate">
+            {{addressBANCurrentDepartment}}&nbsp;<i class="fa fa-chevron-down"></i>
+        </button>
+        <mat-menu #menuDep="matMenu">
+            <button mat-menu-item *ngFor="let dep of departmentList"
+                (click)="addressBANCurrentDepartment = dep">{{dep}}</button>
+        </mat-menu>
+        <mat-icon color="primary" class="fa fa-search" matPrefix style="font-size: 15px;">
+        </mat-icon>
+        <input type="text" #autoCompleteInput [placeholder]="'lang.searchAddressBan' | translate" matInput
+            [formControl]="addressBANControl" [matAutocomplete]="auto" (click)="$event.stopPropagation()"
+            (focus)="resetAutocompleteAddressBan()" maxlength="128">
+        <mat-autocomplete #auto="matAutocomplete" (optionSelected)="selectAddressBan($event)">
+            <ng-container *ngIf="addressBANResult.length > 0 && !addressBANLoading">
+                <mat-option *ngFor="let addressBANResult of addressBANFilteredResult | async" [value]="addressBANResult"
+                    [title]="addressBANResult.address">
+                    {{addressBANResult.address}}
+                </mat-option>
+            </ng-container>
+            <mat-option class="autoCompleteInfoResult smallInputInfo"
+                *ngIf="addressBANResult.length === 0 && !addressBANLoading" disabled [innerHTML]="addressBANInfo">
+            </mat-option>
+            <mat-option *ngIf="addressBANLoading" disabled>
+                <mat-spinner diameter="20"></mat-spinner>
+            </mat-option>
+        </mat-autocomplete>
+    </mat-form-field>
     <button mat-icon-button class="address-icon" (click)="manualAddress=!manualAddress"
         [title]="'lang.showAddress' | translate">
         <mat-icon class="fa fa-eye"></mat-icon>
diff --git a/src/frontend/app/administration/registered-mail/indexing/recipient-input.component.ts b/src/frontend/app/administration/registered-mail/indexing/recipient-input.component.ts
index 9b9eb342261031de1395f6f934d53e5e1a0aa1c6..171c210d34aa49bfde691c01d758e250983d3a05 100644
--- a/src/frontend/app/administration/registered-mail/indexing/recipient-input.component.ts
+++ b/src/frontend/app/administration/registered-mail/indexing/recipient-input.component.ts
@@ -202,4 +202,28 @@ export class RegisteredMailRecipientInputComponent implements OnInit {
     goTo() {
         window.open(`https://www.google.com/maps/search/${this.control.value.addressNumber}+${this.control.value.addressStreet},+${this.control.value.addressPostcode}+${this.control.value.addressTown},+${this.control.value.addressCountry}`, '_blank');
     }
+
+    getContact(contact: any) {
+        this.http.get('../rest/contacts/' + contact.id).pipe(
+            tap((data: any) => {
+                this.control.value.firstname = data.firstname;
+                this.control.value.lastname = data.lastname;
+                this.control.value.addressStreet = data.addressStreet;
+                this.control.value.addressPostcode = data.addressPostcode;
+                this.control.value.addressTown = data.addressTown;
+                this.control.value.addressCountry = data.addressCountry;
+                this.control.value.addressNumber = data.addressNumber;
+                this.control.value.company = data.company;
+                this.control.value.civility = data.civility.label.toUpperCase();
+                this.control.value.addressAdditional1 = data.addressAdditional1;
+                this.control.value.addressAdditional2 = data.addressAdditional2;
+                this.countryControl.setValue(data.addressCountry);
+                this.control.markAsTouched();
+            }),
+            catchError((err: any) => {
+                this.notify.error(err.error.errors);
+                return of(false);
+            })
+        ).subscribe();
+    }
 }
diff --git a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.html b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.html
index bb88ed5b5316170a84ca9335a584262b49854503..8ee5a9944848b1ddc693353772aa3dc94582b7bc 100644
--- a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.html
+++ b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.html
@@ -108,10 +108,10 @@
             </div>
         </mat-autocomplete>
     </mat-form-field>
-    <div style="text-align: right;" *ngIf="controlAutocomplete.value.length >= 2 && !controlAutocomplete.disabled">
+    <div style="text-align: right;" *ngIf="controlAutocomplete.value.length >= 2 && !controlAutocomplete.disabled && !inputMode">
         <button mat-button color="warn" (click)="resetAll()" style="font-size: 10px;">{{'lang.deleteAll' | translate}}</button>
     </div>
-    <div class="itemList">
+    <div class="itemList" *ngIf="!inputMode">
         <mat-chip-list *ngIf="controlAutocomplete.value.length > 0" class="mat-chip-list-stacked itemChip"
             color="default">
             <ng-container *ngIf="!loadingValues">
diff --git a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts
index b5a9528d30e38a0288498986ce8317a67ded8cee..ba91ba100ef8fad2cd91c447825d4907ead41ab5 100755
--- a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts
+++ b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts
@@ -51,14 +51,16 @@ export class ContactAutocompleteComponent implements OnInit {
     /**
      * FormControl used when autocomplete is used in form and must be catched in a form control.
      */
-    @Input('control') controlAutocomplete: FormControl;
+    @Input('control') controlAutocomplete: FormControl = new FormControl();
 
     @Input() id: string = 'contact-autocomplete';
     @Input() exclusion: string = '';
 
     @Input() singleMode: boolean = false;
+    @Input() inputMode: boolean = false;
 
     @Output() retrieveDocumentEvent = new EventEmitter<string>();
+    @Output() afterSelected = new EventEmitter<any>();
 
     @ViewChild('autoCompleteInput', { static: true }) autoCompleteInput: ElementRef;
 
@@ -160,6 +162,7 @@ export class ContactAutocompleteComponent implements OnInit {
 
     selectOpt(ev: any) {
         this.setFormValue(ev.option.value);
+        this.afterSelected.emit(ev.option.value);
         this.myControl.setValue('');
 
     }