diff --git a/src/nub_factory.ts b/src/nub_factory.ts
index e41e50dfe529c598eb9dce61c4cdeca7c3d2cf3f..0f8b2afa960c9c5f40e16ff0db0916b8a395dc83 100644
--- a/src/nub_factory.ts
+++ b/src/nub_factory.ts
@@ -84,6 +84,16 @@ export class NubFactory {
                 }
             throw new Error(`NubFactory.replaceStructureNub() : la structure (uid ${oldNub.uid}) à remplacer n'a pas été trouvée`);
         }
+
+        // copie (dans la mesure du possible) des modes de valeur des paramètres
+
+        for (const p of newNub.parameters)
+            try {
+                const p2 = oldNub.getParameter(p.symbol);
+                p.valueMode = p2.valueMode;
+            }
+            catch (e) {
+            }
     }
 
     private deleteStructureNub(n: Nub) {