diff --git a/src/param/param-base.ts b/src/param/param-base.ts
index 2a5415e91fb4dcebcb6238c92c875825b86d63dc..b5ee3c26c9f58f70d47e8a1af193afe98f7f80cd 100644
--- a/src/param/param-base.ts
+++ b/src/param/param-base.ts
@@ -4,6 +4,7 @@ import { Message, MessageCode } from "../util/message";
 
 import { JalhydObject } from "../jalhyd_object"
 import { ParamDomain, ParamDomainValue } from "./param-domain";
+import { ParamValues, ParamValueMode } from "./param-values";
 
 /**
  * paramètre avec symbole et domaine de définition
@@ -21,14 +22,16 @@ export class BaseParam extends JalhydObject {
     private _domain: ParamDomain;
 
     /**
-     * valeur numérique (éventuellement non définie)
+     * valeur(s) prise(s)
      */
-    private _value: DefinedNumber;
+    private _paramValues: ParamValues;
 
     constructor(symb: string, d: ParamDomain | ParamDomainValue, val?: number) {
         super();
         this._symbol = symb;
-        this._value = new DefinedNumber(val);
+
+        this._paramValues = new ParamValues();
+        this._paramValues.singleValue = val;
 
         if (d instanceof ParamDomain) {
             this._domain = d;
@@ -51,33 +54,37 @@ export class BaseParam extends JalhydObject {
         return this._domain.interval;
     }
 
+    public get paramValues(): ParamValues {
+        return this._paramValues;
+    }
+
     /**
      * gestion de la valeur
      */
 
     public get isDefined(): boolean {
-        return this._value.isDefined;
+        return this._paramValues.isDefined;
     }
 
     public getValue(): number {
-        if (!this._value.isDefined) {
+        if (!this._paramValues.isDefined) {
             const e = new Message(MessageCode.ERROR_PARAMDEF_VALUE_UNDEFINED);
             e.extraVar.symbol = this.symbol;
             throw e;
         }
 
-        return this._value.value;
+        return this._paramValues.singleValue;
     }
 
     public setValue(val: number) {
         this.checkValue(val);
-        this._value.value = val;
+        this._paramValues.singleValue = val;
 
         //        console.log("setting param " + this._symbol + " id=" + this._id + " to " + val); // A VIRER
     }
 
     public get uncheckedValue(): number {
-        return this._value.uncheckedValue;
+        return this._paramValues.uncheckedValue;
     }
 
     public checkValue(v: number) {
@@ -133,4 +140,8 @@ export class BaseParam extends JalhydObject {
                 throw e;
         }
     }
+
+    public get valueMode() {
+        return this._paramValues.valueMode;
+    }
 }