diff --git a/e2e/pab.e2e-spec.ts b/e2e/pab.e2e-spec.ts
index fe80658dfa0696239c32ac7be2ca181785cea177..044be849507ad9e443c2ad606632d5350f227c7c 100644
--- a/e2e/pab.e2e-spec.ts
+++ b/e2e/pab.e2e-spec.ts
@@ -44,6 +44,98 @@ describe("ngHyd − Passe à Bassins", () => {
       expect(await calcPage.nbLogEntries()).toBe(0);
     });
 
+    it("complete example of all PAB modules", async() => {
+      // PAB - chute
+      await startPage.navigateTo();
+      await listPage.clickMenuEntryForCalcType(12);
+      const c_Z1 = calcPage.getInputById("Z1");
+      await c_Z1.clear();
+      await c_Z1.sendKeys("78.27");
+      const c_Z2 = calcPage.getInputById("Z1");
+      await c_Z2.clear();
+      await c_Z2.sendKeys("74.86");
+
+      // PAB - nombre
+      await navbar.clickNewCalculatorButton();
+      await listPage.clickMenuEntryForCalcType(13);
+      const n_DHT = calcPage.getInputById("DHT");
+      await calcPage.setParamMode(n_DHT, "link");
+      const n_DH = calcPage.getInputById("DH");
+      await calcPage.setParamMode(n_DH, "cal");
+      const n_N = calcPage.getInputById("N");
+      await n_N.clear();
+      await n_N.sendKeys("15");
+
+      // PAB - dimensions
+      await navbar.clickNewCalculatorButton();
+      await listPage.clickMenuEntryForCalcType(5);
+      const d_V = calcPage.getInputById("V");
+      await calcPage.setParamMode(d_V, "cal");
+      const d_Y = calcPage.getInputById("Y");
+      await d_Y.clear();
+      await d_Y.sendKeys("1.5");
+      const d_L = calcPage.getInputById("L");
+      await d_L.clear();
+      await d_L.sendKeys("3.100");
+      const d_W = calcPage.getInputById("W");
+      await d_W.clear();
+      await d_W.sendKeys("2.5");
+
+      // PAB - puissance dissipée (volume)
+      await navbar.clickNewCalculatorButton();
+      await listPage.clickMenuEntryForCalcType(6);
+      const p_DH = calcPage.getInputById("DH");
+      await calcPage.setParamMode(p_DH, "link");
+      const p_Q = calcPage.getInputById("Q");
+      await calcPage.setParamMode(p_Q, "cal");
+      const p_V = calcPage.getInputById("V");
+      await calcPage.setParamMode(p_V, "link");
+      const p_PV = calcPage.getInputById("PV");
+      await p_PV.clear();
+      await p_PV.sendKeys("150");
+
+      // PAB - cloisons
+      await navbar.clickNewCalculatorButton();
+      await listPage.clickMenuEntryForCalcType(10);
+      const cl_LB = calcPage.getInputById("LB");
+      await calcPage.setParamMode(cl_LB, "link");
+      const cl_BB = calcPage.getInputById("BB");
+      await calcPage.setParamMode(cl_BB, "link");
+      const cl_DH = calcPage.getInputById("DH");
+      await calcPage.setParamMode(cl_DH, "link");
+      const cl_Z1 = calcPage.getInputById("Z1");
+      await calcPage.setParamMode(cl_Z1, "link");
+      const cl_PB = calcPage.getInputById("PB");
+      await cl_PB.clear();
+      await cl_PB.sendKeys("1.5");
+
+      // calculate Cloisons
+      const calcButtonCl = calcPage.getCalculateButton();
+      await calcButtonCl.click();
+
+      // generate PAB
+      const genButton = calcPage.getGeneratePabButton();
+      console.log("generate pab button ?", await genButton.isPresent(), await genButton.isDisplayed());
+      await genButton.click();
+      const nbBassins = calcPage.getInputById("generatePabNbBassins");
+      await nbBassins.clear();
+      await nbBassins.sendKeys("15");
+
+      // click "Generate"
+      await element(by.css("dialog-generate-pab button#do-generate")).click();
+      await browser.sleep(1000);
+
+      // calculate PAB
+      const calcButtonPAB = calcPage.getCalculateButton();
+      await calcButtonPAB.click();
+      // check that result is not empty
+      const hasResults = await calcPage.hasResults();
+      expect(hasResults).toBe(true);
+
+      // check absence of logs
+      expect(await calcPage.nbLogEntries()).toBe(0);
+    });
+
   });
 
   describe("generate PAB - ", async () => {
@@ -68,11 +160,15 @@ describe("ngHyd − Passe à Bassins", () => {
       await DH.clear();
       await DH.sendKeys("0.72");
 
+      // calculate Cloisons
+      const calcButtonCl = calcPage.getCalculateButton();
+      await calcButtonCl.click();
+
       // create PAB from it, changing modal parameters
       const genButton = calcPage.getGeneratePabButton();
       await genButton.click();
       const debit = calcPage.getInputById("generatePabDebit");
-      expect(await debit.getAttribute("value")).toBe("1.5");
+      expect(await debit.getAttribute("value")).toBe("0.489");
       await debit.clear();
       await browser.sleep(300);
       // send "1.6" in 3 movements, because "." triggers an error and Angular can't cope with the subsequent keys
@@ -120,41 +216,38 @@ describe("ngHyd − Passe à Bassins", () => {
 
   describe("load session files - ", async () => {
 
-    it("when PAB is loaded after Cloisons & ParallelStructure", async() => {
+    it("complete example of all PAB modules", async() => {
       await startPage.navigateTo();
       // load
       await navbar.clickMenuButton();
       await browser.sleep(200);
       await sidenav.clickLoadSessionButton();
       await browser.sleep(200);
-      await sidenav.loadSessionFile("./session/session-pab.json");
+      await sidenav.loadSessionFile("./session/session-pab-complete.json");
       await browser.sleep(500);
       // check existence of the loaded modules
       expect(await navbar.getAllCalculatorTabs().count()).toBe(6);
+
       // check parameters values
       await navbar.clickCalculatorTab(5);
-      await browser.sleep(700); // sometime fails because of tabs order @see nghyd#197
+      await browser.sleep(700);
       const P_Q = calcPage.getInputById("Q");
-      expect(await P_Q.getAttribute("value")).toBe("1.533");
+      expect(await P_Q.getAttribute("value")).toBe("0.275");
       const P_Z2 = calcPage.getInputById("Z2");
-      expect(await P_Z2.getAttribute("value")).toBe("99.44");
+      expect(await P_Z2.getAttribute("value")).toBe("74.865");
       // check number of basins
-      const innerFieldsets = element.all(by.css(".fieldset-inner"));
-      expect(await innerFieldsets.count()).toBe(5);
-      // check <select> and QA values
-      const expectedCloisons = [ "Cloisons 1", "Cloisons 2", "Cloisons", "Cloisons 2", "Cloisons 1" ];
-      const expectedQA = [ 2, 1, 3, 5, 4 ];
-      for (let i = 0; i < innerFieldsets.length; i++) {
-        const inf = innerFieldsets[i];
-        const smc = inf.element(by.css("mat-select#select_modele_cloisons"));
-        expect(await calcPage.getSelectValueText(smc)).toEqual(expectedCloisons[i]);
-        const QA = inf.element(by.css("input[id$=QA]"));
-        expect(Number(await QA.getAttribute("value"))).toBe(expectedQA[i]);
-        i++;
-      }
-      // check downstream wall
-      const smca = calcPage.getSelectById("select_modele_cloison_aval");
-      expect(await calcPage.getSelectValueText(smca)).toEqual("Ouvrages 1");
+      const innerFieldsets = element.all(by.css("td.basin_number"));
+      expect(await innerFieldsets.count()).toBe(15);
+
+      // calculate PAB
+      const calcButton = calcPage.getCalculateButton();
+      await calcButton.click();
+      // check that result is not empty
+      const hasResults = await calcPage.hasResults();
+      expect(hasResults).toBe(true);
+
+      // check absence of logs
+      expect(await calcPage.nbLogEntries()).toBe(0);
     });
 
   });
diff --git a/e2e/session-pab.json b/e2e/session-pab.json
deleted file mode 100644
index 11cc43baaa316f350fdf40075d0b0a96e8e555bd..0000000000000000000000000000000000000000
--- a/e2e/session-pab.json
+++ /dev/null
@@ -1,452 +0,0 @@
-{
-    "header": {
-        "source": "jalhyd",
-        "format_version": "1.0",
-        "created": "2019-05-10T13:09:33.792Z"
-    },
-    "session": [
-        {
-            "uid": "amp6N2",
-            "props": {
-                "calcType": 10,
-                "nodeType": 0
-            },
-            "meta": {
-                "title": "Cloisons"
-            },
-            "children": [
-                {
-                    "uid": "YzNjam",
-                    "props": {
-                        "calcType": 7,
-                        "nodeType": 5,
-                        "structureType": 2,
-                        "loiDebit": 12
-                    },
-                    "children": [],
-                    "parameters": [
-                        {
-                            "symbol": "S",
-                            "mode": "SINGLE",
-                            "value": 0.1
-                        },
-                        {
-                            "symbol": "Cd",
-                            "mode": "SINGLE",
-                            "value": 0.7
-                        }
-                    ]
-                }
-            ],
-            "parameters": [
-                {
-                    "symbol": "Pr",
-                    "mode": "SINGLE",
-                    "value": 0.0001
-                },
-                {
-                    "symbol": "Q",
-                    "mode": "CALCUL"
-                },
-                {
-                    "symbol": "Z1",
-                    "mode": "SINGLE",
-                    "value": 102
-                },
-                {
-                    "symbol": "LB",
-                    "mode": "SINGLE",
-                    "value": 10
-                },
-                {
-                    "symbol": "BB",
-                    "mode": "SINGLE",
-                    "value": 1
-                },
-                {
-                    "symbol": "PB",
-                    "mode": "SINGLE",
-                    "value": 1
-                },
-                {
-                    "symbol": "DH",
-                    "mode": "SINGLE",
-                    "value": 0.5
-                }
-            ]
-        },
-        {
-            "uid": "bTkxem",
-            "props": {
-                "calcType": 10,
-                "nodeType": 0
-            },
-            "meta": {
-                "title": "Cloisons 2"
-            },
-            "children": [
-                {
-                    "uid": "Y3JjaW",
-                    "props": {
-                        "calcType": 7,
-                        "nodeType": 5,
-                        "structureType": 2,
-                        "loiDebit": 12
-                    },
-                    "children": [],
-                    "parameters": [
-                        {
-                            "symbol": "S",
-                            "mode": "SINGLE",
-                            "value": 0.1
-                        },
-                        {
-                            "symbol": "Cd",
-                            "mode": "SINGLE",
-                            "value": 0.7
-                        }
-                    ]
-                }
-            ],
-            "parameters": [
-                {
-                    "symbol": "Pr",
-                    "mode": "SINGLE",
-                    "value": 0.0001
-                },
-                {
-                    "symbol": "Q",
-                    "mode": "CALCUL"
-                },
-                {
-                    "symbol": "Z1",
-                    "mode": "SINGLE",
-                    "value": 102
-                },
-                {
-                    "symbol": "LB",
-                    "mode": "SINGLE",
-                    "value": 10
-                },
-                {
-                    "symbol": "BB",
-                    "mode": "SINGLE",
-                    "value": 1
-                },
-                {
-                    "symbol": "PB",
-                    "mode": "SINGLE",
-                    "value": 1
-                },
-                {
-                    "symbol": "DH",
-                    "mode": "SINGLE",
-                    "value": 0.5
-                }
-            ]
-        },
-        {
-            "uid": "bnNhen",
-            "props": {
-                "calcType": 10,
-                "nodeType": 0
-            },
-            "meta": {
-                "title": "Cloisons 1"
-            },
-            "children": [
-                {
-                    "uid": "amJzem",
-                    "props": {
-                        "calcType": 7,
-                        "nodeType": 5,
-                        "structureType": 2,
-                        "loiDebit": 12
-                    },
-                    "children": [],
-                    "parameters": [
-                        {
-                            "symbol": "S",
-                            "mode": "SINGLE",
-                            "value": 0.1
-                        },
-                        {
-                            "symbol": "Cd",
-                            "mode": "SINGLE",
-                            "value": 0.7
-                        }
-                    ]
-                }
-            ],
-            "parameters": [
-                {
-                    "symbol": "Pr",
-                    "mode": "SINGLE",
-                    "value": 0.0001
-                },
-                {
-                    "symbol": "Q",
-                    "mode": "CALCUL"
-                },
-                {
-                    "symbol": "Z1",
-                    "mode": "SINGLE",
-                    "value": 102
-                },
-                {
-                    "symbol": "LB",
-                    "mode": "SINGLE",
-                    "value": 10
-                },
-                {
-                    "symbol": "BB",
-                    "mode": "SINGLE",
-                    "value": 1
-                },
-                {
-                    "symbol": "PB",
-                    "mode": "SINGLE",
-                    "value": 1
-                },
-                {
-                    "symbol": "DH",
-                    "mode": "SINGLE",
-                    "value": 0.5
-                }
-            ]
-        },
-        {
-            "uid": "M2Q0NX",
-            "props": {
-                "calcType": 8,
-                "nodeType": 0
-            },
-            "meta": {
-                "title": "Ouvrages"
-            },
-            "children": [
-                {
-                    "uid": "MmJxen",
-                    "props": {
-                        "calcType": 7,
-                        "nodeType": 5,
-                        "structureType": 1,
-                        "loiDebit": 1
-                    },
-                    "children": [],
-                    "parameters": [
-                        {
-                            "symbol": "ZDV",
-                            "mode": "SINGLE",
-                            "value": 100
-                        },
-                        {
-                            "symbol": "W",
-                            "mode": "SINGLE",
-                            "value": 0.5
-                        },
-                        {
-                            "symbol": "L",
-                            "mode": "SINGLE",
-                            "value": 2
-                        },
-                        {
-                            "symbol": "Cd",
-                            "mode": "SINGLE",
-                            "value": 0.4
-                        }
-                    ]
-                }
-            ],
-            "parameters": [
-                {
-                    "symbol": "Pr",
-                    "mode": "SINGLE",
-                    "value": 0.0001
-                },
-                {
-                    "symbol": "Q",
-                    "mode": "CALCUL"
-                },
-                {
-                    "symbol": "Z1",
-                    "mode": "SINGLE",
-                    "value": 102
-                },
-                {
-                    "symbol": "Z2",
-                    "mode": "SINGLE",
-                    "value": 101.5
-                }
-            ]
-        },
-        {
-            "uid": "eWtnaj",
-            "props": {
-                "calcType": 8,
-                "nodeType": 0
-            },
-            "meta": {
-                "title": "Ouvrages 1"
-            },
-            "children": [
-                {
-                    "uid": "ZmhpeG",
-                    "props": {
-                        "calcType": 7,
-                        "nodeType": 5,
-                        "structureType": 1,
-                        "loiDebit": 1
-                    },
-                    "children": [],
-                    "parameters": [
-                        {
-                            "symbol": "ZDV",
-                            "mode": "SINGLE",
-                            "value": 100
-                        },
-                        {
-                            "symbol": "W",
-                            "mode": "SINGLE",
-                            "value": 0.5
-                        },
-                        {
-                            "symbol": "L",
-                            "mode": "SINGLE",
-                            "value": 2
-                        },
-                        {
-                            "symbol": "Cd",
-                            "mode": "SINGLE",
-                            "value": 0.4
-                        }
-                    ]
-                }
-            ],
-            "parameters": [
-                {
-                    "symbol": "Pr",
-                    "mode": "SINGLE",
-                    "value": 0.0001
-                },
-                {
-                    "symbol": "Q",
-                    "mode": "CALCUL"
-                },
-                {
-                    "symbol": "Z1",
-                    "mode": "SINGLE",
-                    "value": 102
-                },
-                {
-                    "symbol": "Z2",
-                    "mode": "SINGLE",
-                    "value": 101.5
-                }
-            ]
-        },
-        {
-            "uid": "NXd0dH",
-            "props": {
-                "calcType": 15,
-                "nodeType": 0
-            },
-            "meta": {
-                "title": "PAB"
-            },
-            "children": [
-                {
-                    "uid": "bWswdD",
-                    "props": {
-                        "calcType": 16,
-                        "nodeType": 0
-                    },
-                    "parameters": [
-                        {
-                            "symbol": "QA",
-                            "mode": "SINGLE",
-                            "value": 2
-                        }
-                    ]
-                },
-                {
-                    "uid": "am1oNz",
-                    "props": {
-                        "calcType": 16,
-                        "nodeType": 0
-                    },
-                    "parameters": [
-                        {
-                            "symbol": "QA",
-                            "mode": "SINGLE",
-                            "value": 1
-                        }
-                    ]
-                },
-                {
-                    "uid": "cWJrZm",
-                    "props": {
-                        "calcType": 16,
-                        "nodeType": 0
-                    },
-                    "parameters": [
-                        {
-                            "symbol": "QA",
-                            "mode": "SINGLE",
-                            "value": 3
-                        }
-                    ]
-                },
-                {
-                    "uid": "Y25nNn",
-                    "props": {
-                        "calcType": 16,
-                        "nodeType": 0
-                    },
-                    "parameters": [
-                        {
-                            "symbol": "QA",
-                            "mode": "SINGLE",
-                            "value": 5
-                        }
-                    ]
-                },
-                {
-                    "uid": "M2gxaX",
-                    "props": {
-                        "calcType": 16,
-                        "nodeType": 0
-                    },
-                    "parameters": [
-                        {
-                            "symbol": "QA",
-                            "mode": "SINGLE",
-                            "value": 4
-                        }
-                    ]
-                }
-            ],
-            "parameters": [
-                {
-                    "symbol": "Pr",
-                    "mode": "SINGLE",
-                    "value": 0.0001
-                },
-                {
-                    "symbol": "Q",
-                    "mode": "SINGLE",
-                    "value": "1.533"
-                },
-                {
-                    "symbol": "Z1",
-                    "mode": "CALCUL"
-                },
-                {
-                    "symbol": "Z2",
-                    "mode": "SINGLE",
-                    "value": 99.44
-                }
-            ]
-        }
-    ]
-}
\ No newline at end of file
diff --git a/e2e/session/session-pab-complete.json b/e2e/session/session-pab-complete.json
new file mode 100644
index 0000000000000000000000000000000000000000..fafef4c62fba9ad123e73176eb7069bae748c382
--- /dev/null
+++ b/e2e/session/session-pab-complete.json
@@ -0,0 +1 @@
+{"header":{"source":"jalhyd","format_version":"1.0","created":"2019-07-15T12:04:17.684Z"},"session":[{"uid":"Zm50a2","props":{"calcType":12,"nodeType":0},"meta":{"title":"PAB : chute"},"children":[],"parameters":[{"symbol":"Z1","mode":"SINGLE","value":78.27},{"symbol":"Z2","mode":"SINGLE","value":74.86},{"symbol":"DH","mode":"CALCUL"}]},{"uid":"aDgzan","props":{"calcType":13,"nodeType":0},"meta":{"title":"PAB : nombre"},"children":[],"parameters":[{"symbol":"DHT","mode":"LINK","targetNub":"Zm50a2","targetParam":"DH"},{"symbol":"N","mode":"SINGLE","value":15},{"symbol":"DH","mode":"CALCUL"}]},{"uid":"Y2p1MG","props":{"calcType":5,"nodeType":0},"meta":{"title":"PAB : dimensions"},"children":[],"parameters":[{"symbol":"L","mode":"SINGLE","value":3.1},{"symbol":"W","mode":"SINGLE","value":2.5},{"symbol":"Y","mode":"SINGLE","value":1.5},{"symbol":"V","mode":"CALCUL"}]},{"uid":"eDUxc2","props":{"calcType":6,"nodeType":0},"meta":{"title":"PAB : puissance"},"children":[],"parameters":[{"symbol":"DH","mode":"LINK","targetNub":"aDgzan","targetParam":"DH"},{"symbol":"Q","mode":"CALCUL"},{"symbol":"V","mode":"LINK","targetNub":"Y2p1MG","targetParam":"V"},{"symbol":"PV","mode":"SINGLE","value":150}]},{"uid":"bmJjMG","props":{"calcType":10,"nodeType":0},"meta":{"title":"Cloisons"},"children":[{"uid":"OXF4an","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"h1","mode":"SINGLE","value":1},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"Q","mode":"CALCUL"},{"symbol":"Z1","mode":"LINK","targetNub":"Zm50a2","targetParam":"Z1"},{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"PB","mode":"SINGLE","value":1},{"symbol":"DH","mode":"LINK","targetNub":"aDgzan","targetParam":"DH"}]},{"uid":"cnlwZD","props":{"calcType":15},"meta":{"title":"PAB"},"children":[{"uid":"ZmZnM2","props":{"calcType":10,"nodeType":0},"children":[{"uid":"eWdwb2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":77.27},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":77.04266666666666},{"symbol":"ZRAM","mode":"SINGLE","value":77.15633333333332},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"NHg1N3","props":{"calcType":10,"nodeType":0},"children":[{"uid":"aW9scn","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":77.04266666666666},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":76.81533333333333},{"symbol":"ZRAM","mode":"SINGLE","value":76.92899999999999},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"dDBjbn","props":{"calcType":10,"nodeType":0},"children":[{"uid":"aW83bD","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":76.81533333333333},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":76.588},{"symbol":"ZRAM","mode":"SINGLE","value":76.70166666666665},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"ZGJ0NT","props":{"calcType":10,"nodeType":0},"children":[{"uid":"bzRwbn","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":76.588},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":76.36066666666666},{"symbol":"ZRAM","mode":"SINGLE","value":76.47433333333332},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"dGFqbm","props":{"calcType":10,"nodeType":0},"children":[{"uid":"d3V3d2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":76.36066666666666},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":76.13333333333333},{"symbol":"ZRAM","mode":"SINGLE","value":76.24699999999999},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"aDFqbT","props":{"calcType":10,"nodeType":0},"children":[{"uid":"Zm9qdD","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":76.13333333333333},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":75.90599999999999},{"symbol":"ZRAM","mode":"SINGLE","value":76.01966666666665},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"Z280a2","props":{"calcType":10,"nodeType":0},"children":[{"uid":"YzgyY2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":75.90599999999999},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":75.67866666666666},{"symbol":"ZRAM","mode":"SINGLE","value":75.79233333333332},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"MzB4Yj","props":{"calcType":10,"nodeType":0},"children":[{"uid":"dW1iZz","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":75.67866666666666},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":75.45133333333332},{"symbol":"ZRAM","mode":"SINGLE","value":75.56499999999998},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"eDc2ej","props":{"calcType":10,"nodeType":0},"children":[{"uid":"Y3ozc2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":75.45133333333334},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":75.224},{"symbol":"ZRAM","mode":"SINGLE","value":75.33766666666666},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"Mm12cG","props":{"calcType":10,"nodeType":0},"children":[{"uid":"eDM0b2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":75.224},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.99666666666667},{"symbol":"ZRAM","mode":"SINGLE","value":75.11033333333333},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"NGMycX","props":{"calcType":10,"nodeType":0},"children":[{"uid":"aG80dm","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.99666666666667},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.76933333333334},{"symbol":"ZRAM","mode":"SINGLE","value":74.883},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"a21saT","props":{"calcType":10,"nodeType":0},"children":[{"uid":"YWFoM2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.76933333333334},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.542},{"symbol":"ZRAM","mode":"SINGLE","value":74.65566666666666},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"ZXdocW","props":{"calcType":10,"nodeType":0},"children":[{"uid":"cWlmbT","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.542},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.31466666666667},{"symbol":"ZRAM","mode":"SINGLE","value":74.42833333333333},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"dG95Mj","props":{"calcType":10,"nodeType":0},"children":[{"uid":"bTFncz","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.31466666666667},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.08733333333333},{"symbol":"ZRAM","mode":"SINGLE","value":74.201},{"symbol":"QA","mode":"SINGLE","value":0}]}],"parameters":[{"symbol":"Q","mode":"SINGLE","value":0.275},{"symbol":"Z1","mode":"CALCUL"},{"symbol":"Z2","mode":"SINGLE","value":74.865}],"downWall":{"uid":"anI4eH","props":{"calcType":16},"children":[{"uid":"b3g2Mn","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.08733333333333},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[]}}]}
\ No newline at end of file
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 48e622a72859780b76fe5cff84109301cdbcb6b2..842aeb727bb1f74ac7bcb35f9a3bdbd2ab0ef019 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -149,7 +149,7 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit,
         return this._formulaire !== undefined;
     }
 
-    public get hasResults() {
+    public get hasResults(): boolean {
         if (this.hasForm) {
             return this._formulaire.hasResults;
         }
@@ -455,8 +455,10 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit,
         );
     }
 
-    // PAB generation is enabled only if no parameter is varying
-    public get generatePABEnabled(): boolean {
+    /**
+     * Returns true if no parameter is varying
+     */
+    private allParamsAreFixed() {
         let ret = true;
         for (const p of this._formulaire.currentNub.parameterIterator) {
             ret = ret && (! p.hasMultipleValues);
@@ -464,8 +466,18 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit,
         return ret;
     }
 
+    // PAB generation is enabled only if :
+    // - no parameter is varying
+    // - Cloisons is calculated first
+    public get generatePABEnabled(): boolean {
+        return this.allParamsAreFixed() && this.hasResults;
+    }
+
     public get uitextGeneratePabTitle() {
-        if (! this.generatePABEnabled) {
+        if (! this.hasResults) {
+            return this.intlService.localizeText("INFO_CALCULER_D_ABORD");
+        }
+        if (! this.allParamsAreFixed) {
             return this.intlService.localizeText("INFO_PAB_PARAMETRES_FIXES");
         }
         return "";
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 78e3384d637e0a52cca6d3e71361631bd9639783..b0db92e167dadbdf1580cbbf55091097eb1afce8 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -248,6 +248,7 @@
     "INFO_OPTION_YES": "Yes",
     "INFO_OUVRAGE": "Structure",
     "INFO_PAB_BASSIN": "Basin",
+    "INFO_CALCULER_D_ABORD": "Calculate this module first",
     "INFO_PAB_NUM_BASSIN": "Basin #",
     "INFO_PAB_HEADER_TYPE": "Type",
     "INFO_PAB_HEADER_PARAMETERS": "Parameters",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index e9135bada0233eb094b618f0933407f3d1f5a239..948ac7d1a9798b03a211612833e2b23880cf6fa9 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -248,6 +248,7 @@
     "INFO_OPTION_YES": "Oui",
     "INFO_OUVRAGE": "Ouvrage",
     "INFO_PAB_BASSIN": "Bassin",
+    "INFO_CALCULER_D_ABORD": "Calculer ce module d'abord",
     "INFO_PAB_NUM_BASSIN": "N° de bassin",
     "INFO_PAB_HEADER_TYPE": "Type",
     "INFO_PAB_HEADER_PARAMETERS": "Paramètres",