diff --git a/src/app/form/footer-form/footer-form.component.ts b/src/app/form/footer-form/footer-form.component.ts
index f74cea5bb71f617948053df17934d94b62660fd9..42f1c9a4e3449b821bc1fafd3f740be7187de921 100644
--- a/src/app/form/footer-form/footer-form.component.ts
+++ b/src/app/form/footer-form/footer-form.component.ts
@@ -25,7 +25,6 @@ export class FooterFormComponent {
   @Input() nbPagesForm: number;
   @Input() form: UntypedFormGroup;
   @Input() linkedStructureId: string[] = null;
-  @Input() acceptNewsletter: boolean;
   @Input() currentStep: stepType;
   @Input() hasOtherPersonalOffer: boolean;
   @Input() isPersonalOfferProfile: boolean;
@@ -102,7 +101,7 @@ export class FooterFormComponent {
       user.structuresLink = this.linkedStructureId;
       try {
         await firstValueFrom(this.authService.register(user));
-        if (this.acceptNewsletter) {
+        if (this.form.value.hasAcceptedNewsletter) {
           this.newsletterService.subscribe(user.email).subscribe();
         }
         document.getElementsByClassName('page')[0].scrollTo(0, 0);
diff --git a/src/app/form/form-view/account-form/account-form.component.html b/src/app/form/form-view/account-form/account-form.component.html
index c6d69a41d236a6c4ed5ee2464f1a1f501b5db3ae..4c8b83fadb82ef05343c76feffd26c5f35c04fa5 100644
--- a/src/app/form/form-view/account-form/account-form.component.html
+++ b/src/app/form/form-view/account-form/account-form.component.html
@@ -12,11 +12,7 @@
     />
   </ng-container>
   <ng-container *ngIf="currentStep === accountFormStepEnum.accountNewsletter">
-    <app-account-newsletter
-      [accountForm]="accountForm"
-      [profile]="profile"
-      (acceptNewsletter)="acceptReceiveNewsletter($event)"
-    />
+    <app-account-newsletter [accountForm]="accountForm" [profile]="profile" (validateForm)="setValidationsForm()" />
   </ng-container>
   <ng-container *ngIf="currentStep === accountFormStepEnum.confirmEmailSentInfo">
     <app-information-step [step]="accountFormStepEnum.confirmEmailSentInfo" [formType]="formType.account" />
diff --git a/src/app/form/form-view/account-form/account-form.component.ts b/src/app/form/form-view/account-form/account-form.component.ts
index f944c1b249714b7acedabdf786a72b151f8468ec..a16940f4a85b39947fed0016dfcbc71be8e0350a 100644
--- a/src/app/form/form-view/account-form/account-form.component.ts
+++ b/src/app/form/form-view/account-form/account-form.component.ts
@@ -50,7 +50,7 @@ export class AccountFormComponent implements OnInit, OnChanges {
         this.accountForm.get('confirmPassword').valid,
     };
     this.pagesValidation[accountFormStep.accountNewsletter] = {
-      valid: true,
+      valid: this.accountForm.get('hasAcceptedNewsletter').value !== null,
     };
     this.pagesValidation[accountFormStep.confirmEmailSentInfo] = {
       valid: true,
@@ -74,7 +74,4 @@ export class AccountFormComponent implements OnInit, OnChanges {
     const isPageValid = this.pagesValidation[this.currentStep].valid;
     this.pageValid.emit(isPageValid);
   }
-  public acceptReceiveNewsletter(accept: boolean): void {
-    this.acceptNewsletter.emit(accept);
-  }
 }
diff --git a/src/app/form/form-view/account-form/account-newsletter/account-newsletter.component.html b/src/app/form/form-view/account-form/account-newsletter/account-newsletter.component.html
index 25656d5750eb5f2f829abc49ff06147b8860c183..b72dd38756c724eadba48ce907057e5d97495cdb 100644
--- a/src/app/form/form-view/account-form/account-newsletter/account-newsletter.component.html
+++ b/src/app/form/form-view/account-form/account-newsletter/account-newsletter.component.html
@@ -8,14 +8,14 @@
       [id]="'yes'"
       [label]="'Oui'"
       [value]="true"
-      [selected]="userAcceptNewsletter"
+      [selected]="accountForm.get('hasAcceptedNewsletter').value === true"
       (click)="acceptReceiveNewsletter(true)"
     />
     <app-radio-option
       [id]="'no'"
       [label]="'Non'"
       [value]="false"
-      [selected]="!userAcceptNewsletter"
+      [selected]="accountForm.get('hasAcceptedNewsletter').value === false"
       (click)="acceptReceiveNewsletter(false)"
     />
   </div>
diff --git a/src/app/form/form-view/account-form/account-newsletter/account-newsletter.component.ts b/src/app/form/form-view/account-form/account-newsletter/account-newsletter.component.ts
index 952d50bd8112cd4e819266599ec7a99929e4ff19..64c37f011c53d3395363cf828cfe3d94affc20c8 100644
--- a/src/app/form/form-view/account-form/account-newsletter/account-newsletter.component.ts
+++ b/src/app/form/form-view/account-form/account-newsletter/account-newsletter.component.ts
@@ -9,11 +9,10 @@ import { User } from '../../../../models/user.model';
 export class AccountNewsletterComponent {
   @Input() accountForm: UntypedFormGroup;
   @Input() profile: User;
-  @Output() acceptNewsletter = new EventEmitter<any>();
-  public userAcceptNewsletter = false;
+  @Output() validateForm = new EventEmitter<any>();
 
   public acceptReceiveNewsletter(accepts: boolean): void {
-    this.userAcceptNewsletter = accepts;
-    this.acceptNewsletter.emit(accepts);
+    this.accountForm.get('hasAcceptedNewsletter').setValue(accepts);
+    this.validateForm.emit();
   }
 }
diff --git a/src/app/form/form-view/form-view.component.html b/src/app/form/form-view/form-view.component.html
index 4b92517b4b06dc7d6204922485af368002596050..8c3a89528ec34991b8a449a29576fae58b35498d 100644
--- a/src/app/form/form-view/form-view.component.html
+++ b/src/app/form/form-view/form-view.component.html
@@ -25,7 +25,6 @@
       [isAccountMode]="isAccountMode"
       (goNext)="nextPage()"
       (pageValid)="validatePage($event)"
-      (acceptNewsletter)="acceptReceiveNewsletter($event)"
     />
     <app-profile-form
       *ngIf="formType[routeParam] === formType.profile"
@@ -66,7 +65,6 @@
     [form]="currentForm"
     [linkedStructureId]="linkedStructureId"
     [isValid]="isPageValid"
-    [acceptNewsletter]="userAcceptNewsletter"
     [hasOtherPersonalOffer]="hasOtherPersonalOffer"
     [isPersonalOfferProfile]="isPersonalOfferProfile"
     [isEditMode]="isEditMode"
diff --git a/src/app/form/form-view/form-view.component.ts b/src/app/form/form-view/form-view.component.ts
index fd71532bec513c49b336d141c10fcc3eff2da56f..bbff09df452667b65488264d2fc4405f7f43c33f 100644
--- a/src/app/form/form-view/form-view.component.ts
+++ b/src/app/form/form-view/form-view.component.ts
@@ -37,7 +37,6 @@ export class FormViewComponent implements OnInit, AfterViewInit {
   public formUtils = new FormUtils();
   // Account Form
   public accountForm: UntypedFormGroup;
-  public userAcceptNewsletter: boolean;
   // Profile Form
   public profileForm: UntypedFormGroup;
   public isPersonalOfferProfile = false;
@@ -214,6 +213,7 @@ export class FormViewComponent implements OnInit, AfterViewInit {
           Validators.pattern(CustomRegExp.PASSWORD), // NOSONAR
         ]),
         confirmPassword: new UntypedFormControl(''),
+        hasAcceptedNewsletter: new UntypedFormControl(null),
       },
       [MustMatch('password', 'confirmPassword')],
     );
@@ -235,10 +235,6 @@ export class FormViewComponent implements OnInit, AfterViewInit {
     });
   }
 
-  public acceptReceiveNewsletter(isAccepted: boolean): void {
-    this.userAcceptNewsletter = isAccepted;
-  }
-
   private createPersonalOfferForm(personalOffer: PersonalOffer): void {
     this.personalOfferForm = new UntypedFormGroup({
       categories: new UntypedFormGroup({