diff --git a/src/pab/cloison_aval.ts b/src/pab/cloison_aval.ts
index 39c48c4a489c53a0cbe52efaee8a5eedabe10b02..ab93fa43b92a9b032802de072bce3b7fe8452add 100644
--- a/src/pab/cloison_aval.ts
+++ b/src/pab/cloison_aval.ts
@@ -74,7 +74,9 @@ export class CloisonAval extends ParallelStructure {
         }
         if (!this.hasVanneLevante() || this.result.ok) {
             // Calculation of Z1 with the new ZDV in case of existing vanne levante
+            this._doVanLevSubmergenceCheck = false;
             this.currentResultElement = super.Calc("Z1", rInit);
+            this._doVanLevSubmergenceCheck = true;
             if (this.result.ok) {
                 this.getParameter(sVarCalc).v = this.result.vCalc;
                 // Recalcul du débit total pour récupérer les résultats des ouvrages dans les résultats complémentaires
diff --git a/src/structure/parallel_structure.ts b/src/structure/parallel_structure.ts
index 682beb1c33c2d061ef60459d6a74396bc2d26b2d..addfaac739f62ec15a6721555da7c2fe5a441be0 100644
--- a/src/structure/parallel_structure.ts
+++ b/src/structure/parallel_structure.ts
@@ -16,9 +16,17 @@ import { MessageCode, Message } from "../internal_modules";
  */
 export class ParallelStructure extends Nub {
 
+    /**
+     * false pour inihiber le test d'erreur d'ennoiement dans les vannes levantes
+     * @see checkSubmergence
+     * @see checkSubmergenceMin
+     */
+    protected _doVanLevSubmergenceCheck: boolean;
+
     constructor(prms: ParamsEquation, dbg: boolean = false) {
         super(prms, dbg);
         this.setCalculatorType(CalculatorType.ParallelStructure);
+        this._doVanLevSubmergenceCheck = true;
     }
 
     /** children casting */
@@ -40,6 +48,10 @@ export class ParallelStructure extends Nub {
         return this._prms as ParallelStructureParams;
     }
 
+    public get doVanLevSubmergenceCheck(): boolean {
+        return this._doVanLevSubmergenceCheck;
+    }
+
     /** Returns admissible LoiDebit grouped by StructureType */
     public getLoisAdmissibles(): { [key: string]: LoiDebit[]; } {
         return loiAdmissiblesOuvrages;
diff --git a/src/structure/structure.ts b/src/structure/structure.ts
index 5ac03cb2d53b5a35382a6c11887299315e2f7969..e90938f0d0fa63b84fcbb5db4a71c6f54840ab59 100644
--- a/src/structure/structure.ts
+++ b/src/structure/structure.ts
@@ -81,16 +81,22 @@ export abstract class Structure extends ChildNub {
      * méthode générique de vérification que l'ennoiement est supérieur à une valeur donnée
      * @param min valeur minimum de l'ennoiement
      */
-    protected checkSubmergenceMin(min: number) {
-        const h2h1ratio = this.prms.h2.v / this.prms.h1.v;
-        if (h2h1ratio < min) {
-            this._result.resultElement.addMessage(new Message(
-                MessageCode.ERROR_STRUCTURE_SUBMERGENCE_LOWER_THAN,
-                {
-                    submergencePerc: this.computeSubmergencePercentage().toString(),
-                    min: min * 100
-                }
-            ));
+    protected checkSubmergenceMin(res: Result, min: number) {
+        // on fait le test soit :
+        // - si cette structure n'est pas une vanne levante
+        // - si cette structure est une vanne levante et le flag d'autorisation du test est vrai
+        if (!this.isVanneLevante || this.doVanLevSubmergenceCheck) { 
+            const h2h1ratio = this.prms.h2.v / this.prms.h1.v;
+            if (h2h1ratio < min) {
+                res.resultElement.addMessage(new Message(
+                    // this._result.globalLog.add(new Message(
+                    MessageCode.ERROR_STRUCTURE_SUBMERGENCE_LOWER_THAN,
+                    {
+                        submergencePerc: this.computeSubmergencePercentage().toString(),
+                        min: min * 100
+                    }
+                ));
+            }
         }
     }
 
@@ -119,6 +125,20 @@ export abstract class Structure extends ChildNub {
         this._intlType = "Ouvrage";
     }
 
+    public get doVanLevSubmergenceCheck(): boolean {
+        const ps = this.parent as ParallelStructure;
+        return ps.doVanLevSubmergenceCheck;
+    }
+
+    /**
+     * true si la structure est une vanne levante
+     * @see StructureVanLevLarinier
+     * @see StructureVanLevVillemonte
+     */
+    protected get isVanneLevante(): boolean {
+        return false;
+    }
+
     public get isZDVcalculable(): boolean {
         return this._isZDVcalculable;
     }
diff --git a/src/structure/structure_vanlev_larinier.ts b/src/structure/structure_vanlev_larinier.ts
index 002838b5da4ebd2a8c547da824bdb83945119dc4..0f01035454a1d4242b766b388fc235b3ea36b430 100644
--- a/src/structure/structure_vanlev_larinier.ts
+++ b/src/structure/structure_vanlev_larinier.ts
@@ -15,4 +15,8 @@ export class StructureVanLevLarinier extends StructureWeirSubmergedLarinier {
     get prms(): StructureVanLevParams {
         return this._prms as StructureVanLevParams;
     }
+
+    protected get isVanneLevante(): boolean {
+        return true;
+    }
 }
diff --git a/src/structure/structure_vanlev_villemonte.ts b/src/structure/structure_vanlev_villemonte.ts
index da61603d45c692b508ef5f50da3bd155a21a3416..9c01ef9f5fe638c286806d1c7203b9438739eefe 100644
--- a/src/structure/structure_vanlev_villemonte.ts
+++ b/src/structure/structure_vanlev_villemonte.ts
@@ -15,4 +15,8 @@ export class StructureVanLevVillemonte extends StructureWeirVillemonte {
     get prms(): StructureVanLevParams {
         return this._prms as StructureVanLevParams;
     }
+
+    protected get isVanneLevante(): boolean {
+        return true;
+    }
 }