diff --git a/spec/value_ref/value_ref_variable_extraresult.spec.ts b/spec/value_ref/value_ref_variable_extraresult.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..a5c7f5ee190384ddbf349e96599b8ee4cc6fe05b
--- /dev/null
+++ b/spec/value_ref/value_ref_variable_extraresult.spec.ts
@@ -0,0 +1,53 @@
+import { ParamsSectionRectang, cSnRectang, CourbeRemousParams, MethodeResolution, CourbeRemous, Result } from "../../src";
+
+/**
+ * IMPORTANT !
+ * Décommenter temporairement la ligne suivante (import { } from "./mock_jasmine")
+ * Pour exécuter ce code dans le débugger.
+ * Faire de même avec le fichier test_func.ts
+ */
+// import { describe, expect, it, xdescribe, xit } from "../mock_jasmine";
+
+describe("référence d'un paramètre à un résultat complémentaire multivalué : ", () => {
+    it("test 1", () => {
+        // cas de figure :
+        // courbe de remous / section rectangulaire, méthode Euler explicite, faible pente, pas de ressaut, Yamont > Yc, Yaval > Yn
+        // on itère sur la courbe fluviale
+
+        const prms = new ParamsSectionRectang(undefined, // tirant d'eau
+            2.5, // largeur de fond
+            40, //  Ks=Strickler
+            2, // Q=Débit
+            0.001, // If=pente du fond
+            0.001, // précision
+            1 // YB=hauteur de berge
+        );
+
+        const sect = new cSnRectang(prms);
+
+        const prem = new CourbeRemousParams(sect, 0.5, // Yamont = tirant amont
+            1, // Yaval = tirant aval
+            100,  // Long= Longueur du bief
+            5,  // Dx=Pas d'espace
+            MethodeResolution.EulerExplicite
+        );
+
+        const rem = new CourbeRemous(prem);
+
+        const res: Result = rem.calculRemous(undefined);
+
+        // données de validation : version Typescript (Oct 2017) méthode des trapèzes
+
+        const f = [0.9872500000000014, 0.9872500000000014, 0.9872500000000014,
+            0.9872500000000014, 0.9880000000000013, 0.9887500000000012,
+            0.9895000000000012, 0.9902500000000011, 0.991000000000001,
+            0.9917500000000009, 0.9925000000000008, 0.9932500000000007,
+            0.9940000000000007, 0.9947500000000006, 0.9955000000000005,
+            0.9962500000000004, 0.9970000000000003, 0.9977500000000002,
+            0.9985000000000002, 0.9992500000000001, 1];
+
+        let i = 0;
+        for (const v of res.getExtraResultValuesIterator("flu"))
+            expect(Math.abs(v - f[i++]) < 0.01).toBeTruthy();
+    });
+});
diff --git a/src/util/result.ts b/src/util/result.ts
index 729c60e40cbd6f06fd5536913fa84b68c7bb3f84..fcff8d874343760d8185379cee1dfdb280e0300e 100644
--- a/src/util/result.ts
+++ b/src/util/result.ts
@@ -270,4 +270,17 @@ export class Result implements IterableValues {
             tmp.push(re.vCalc);
         return tmp[Symbol.iterator]();
     }
+
+    //  interface IterableValues pour les résultats complémentaires
+
+    public getExtraResultValuesIterator(name: string): IterableIterator<number> {
+        const tmp = [];
+        for (const r of this._resultElements) {
+            const er = r.getExtraResult(name);
+            if (er !== undefined)
+                tmp.push(er);
+        }
+
+        return tmp[Symbol.iterator]();
+    }
 }