diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/ports/input/impl/ImportDonneesEntreePortImpl.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/ports/input/impl/ImportDonneesEntreePortImpl.java
index 2b1557429d22610d08bbe2389ff8ebec0ddb5a4c..5a2cf1ad0b7098645e7e4a3442c728fe82ebb6ec 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/ports/input/impl/ImportDonneesEntreePortImpl.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/ports/input/impl/ImportDonneesEntreePortImpl.java
@@ -10,6 +10,7 @@ import org.mte.numecoeval.expositiondonneesentrees.domain.ports.input.ImportDonn
 import org.mte.numecoeval.expositiondonneesentrees.domain.ports.output.ReferentielServicePort;
 import org.mte.numecoeval.expositiondonneesentrees.generated.api.model.StatutTraitement;
 import org.mte.numecoeval.expositiondonneesentrees.infrastructure.helper.CSVHelper;
+import org.mte.numecoeval.expositiondonneesentrees.infrastructure.service.DefaultValueService;
 import org.mte.numecoeval.expositiondonneesentrees.infrastructure.service.ErrorManagementService;
 import org.mte.numecoeval.expositiondonneesentrees.referentiels.generated.api.model.TypeEquipementDTO;
 import org.slf4j.Logger;
@@ -51,6 +52,8 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
 
     final ErrorManagementService errorManagementService;
 
+    final DefaultValueService defaultValueService;
+
     final Map<String, String> errorMessages;
 
     @Value("#{'${constraints.mode-utilisation}'.split(',')}")
@@ -190,6 +193,7 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                     .setTrim(true)
                     .setSkipHeaderRecord(true)
                     .build().parse(reader);
+
             records.forEach(csvRecord ->
             {
                 String typeEquipement = csvRecord.get("type");
@@ -207,13 +211,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                     Float goTelecharge = goTelechargeStr == null ? null : NumberUtils.toFloat(goTelechargeStr);
                     var tauxUtilisationStr = CSVHelper.safeString(csvRecord, "tauxUtilisation");
                     Double tauxUtilisation = NumberUtils.isCreatable(tauxUtilisationStr) ? NumberUtils.toDouble(tauxUtilisationStr) : null;
-                    if (tauxUtilisation != null && (tauxUtilisation < 0 || tauxUtilisation > 1)) {
-                        tauxUtilisation = null;
-                    }
-                    var modeUtilisation = CSVHelper.safeString(csvRecord, "modeUtilisation");
-                    if (!modeUtilisationList.contains(modeUtilisation)) {
-                        modeUtilisation = null;
-                    }
 
                     EquipementPhysique equipementToAdd = EquipementPhysique.builder()
                             .statutTraitement(STATUT_TRAITEMENT_EN_ATTENTE)
@@ -232,7 +229,7 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                             .nbCoeur(CSVHelper.safeString(csvRecord, "nbCoeur"))
                             .nomCourtDatacenter(CSVHelper.safeString(csvRecord, "nomCourtDatacenter", "refDatacenter"))
                             .goTelecharge(goTelecharge)
-                            .modeUtilisation(modeUtilisation)
+                            .modeUtilisation(CSVHelper.safeString(csvRecord, "modeUtilisation"))
                             .tauxUtilisation(tauxUtilisation)
                             .nbJourUtiliseAn(CSVHelper.safeDouble(csvRecord, "nbJourUtiliseAn"))
                             .consoElecAnnuelle(CSVHelper.safeDouble(csvRecord, "consoElecAnnuelle"))
@@ -244,7 +241,7 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                     var erreurs = errorManagementService.checkEquipementPhysique(equipementToAdd, refTypeEquipementOpt.get().getRefEquipementParDefaut());
                     rapportImport.getErreurs().addAll(erreurs.getKey());
                     avertissements.addAll(erreurs.getValue());
-
+                    defaultValueService.setEquipementValeurDefaut(equipementToAdd);
                     domainModels.add(equipementToAdd);
                 }
             });
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/config/ApplicationPortConfig.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/config/ApplicationPortConfig.java
index 7a62c6b92eb85a818dda843aadf2fcb05f9e3fb7..3a321cd0444f88efa35f3e02e7727722b01f4a21 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/config/ApplicationPortConfig.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/config/ApplicationPortConfig.java
@@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
 import org.mte.numecoeval.expositiondonneesentrees.domain.ports.input.ImportDonneesEntreePort;
 import org.mte.numecoeval.expositiondonneesentrees.domain.ports.input.impl.ImportDonneesEntreePortImpl;
 import org.mte.numecoeval.expositiondonneesentrees.domain.ports.output.ReferentielServicePort;
+import org.mte.numecoeval.expositiondonneesentrees.infrastructure.service.DefaultValueService;
 import org.mte.numecoeval.expositiondonneesentrees.infrastructure.service.ErrorManagementService;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
@@ -17,13 +18,13 @@ import java.util.List;
 public class ApplicationPortConfig {
 
     private ReferentielServicePort referentielServicePort;
-
     private ErrorManagementService errorManagementService;
+    private DefaultValueService defaultValueService;
     private MessageProperties messageProperties;
     private List<String> modeUtilisationList;
 
     @Bean
     public ImportDonneesEntreePort importDonneesEntreePort() {
-        return new ImportDonneesEntreePortImpl(referentielServicePort, errorManagementService, messageProperties.getMessages(), modeUtilisationList);
+        return new ImportDonneesEntreePortImpl(referentielServicePort, errorManagementService, defaultValueService, messageProperties.getMessages(), modeUtilisationList);
     }
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/DefaultValueService.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/DefaultValueService.java
new file mode 100644
index 0000000000000000000000000000000000000000..7d2a97d670fcd3e25ab03378bd201bf810d1cddd
--- /dev/null
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/DefaultValueService.java
@@ -0,0 +1,32 @@
+package org.mte.numecoeval.expositiondonneesentrees.infrastructure.service;
+
+import lombok.AllArgsConstructor;
+import org.mte.numecoeval.expositiondonneesentrees.domain.model.EquipementPhysique;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@AllArgsConstructor
+public class DefaultValueService {
+
+    @Value("#{'${constraints.mode-utilisation}'.split(',')}")
+    private List<String> modeUtilisationList;
+
+    /**
+     * fonction à effet de bord qui permet de réaffecter certaines variables à leur valeur par défaut lorsque leur valeur initiale est incorrecte (créé un avertissement)
+     *
+     * @param equipementPhysique un equipementPhysique à enregistrer en base
+     */
+    public void setEquipementValeurDefaut(EquipementPhysique equipementPhysique) {
+        if (equipementPhysique.getModeUtilisation() != null && !modeUtilisationList.contains(equipementPhysique.getModeUtilisation())) {
+            equipementPhysique.setModeUtilisation(null);
+        }
+
+        Double taux = equipementPhysique.getTauxUtilisation();
+        if (taux != null && (taux < 0 || taux > 1)) {
+            equipementPhysique.setTauxUtilisation(null);
+        }
+    }
+}
diff --git a/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/domain/port/input/ImportDonneesEntreePortImplTest.java b/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/domain/port/input/ImportDonneesEntreePortImplTest.java
index a92ad7fc80a14c33aa6e99fc16bb9a3482731263..d4063d474093e97c63092d189b33dea4f9fdb10d 100644
--- a/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/domain/port/input/ImportDonneesEntreePortImplTest.java
+++ b/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/domain/port/input/ImportDonneesEntreePortImplTest.java
@@ -9,6 +9,7 @@ import org.mockito.MockitoAnnotations;
 import org.mte.numecoeval.expositiondonneesentrees.domain.model.*;
 import org.mte.numecoeval.expositiondonneesentrees.domain.ports.input.impl.ImportDonneesEntreePortImpl;
 import org.mte.numecoeval.expositiondonneesentrees.domain.ports.output.ReferentielServicePort;
+import org.mte.numecoeval.expositiondonneesentrees.infrastructure.service.DefaultValueService;
 import org.mte.numecoeval.expositiondonneesentrees.infrastructure.service.ErrorManagementService;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -31,12 +32,14 @@ class ImportDonneesEntreePortImplTest {
 
     ImportDonneesEntreePortImpl importDonneesEntreePort;
     ErrorManagementService errorManagementService;
+    DefaultValueService defaultValueService;
+
     private List<String> modeUtilisationList;
 
     @BeforeEach
     public void init() {
         MockitoAnnotations.openMocks(this);
-        importDonneesEntreePort = new ImportDonneesEntreePortImpl(referentielServicePort, errorManagementService, errorMessages, modeUtilisationList);
+        importDonneesEntreePort = new ImportDonneesEntreePortImpl(referentielServicePort, errorManagementService, defaultValueService, errorMessages, modeUtilisationList);
     }
 
     @Test
diff --git a/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/DefaultValueServiceTest.java b/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/DefaultValueServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..71e0a0470bca9620e5dfe2f610da912d103eb62c
--- /dev/null
+++ b/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/DefaultValueServiceTest.java
@@ -0,0 +1,63 @@
+package org.mte.numecoeval.expositiondonneesentrees.infrastructure.service;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.InjectMocks;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.mte.numecoeval.expositiondonneesentrees.domain.model.EquipementPhysique;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+@ExtendWith(MockitoExtension.class)
+public class DefaultValueServiceTest {
+    @InjectMocks
+    DefaultValueService defaultValueService;
+    private String mode = "COPE";
+
+    @BeforeEach
+    public void init() {
+        List<String> modeUtilisationList = List.of(mode);
+        defaultValueService = new DefaultValueService(modeUtilisationList);
+    }
+
+    public EquipementPhysique equipementPhysique() {
+        return EquipementPhysique.builder().build();
+    }
+
+    @Test
+    void importEqPhysique_with_TauxUtilisationBiggerThan1_shouldBeReplacedByNull() {
+        EquipementPhysique eq1 = equipementPhysique();
+        eq1.setTauxUtilisation(21.0);
+        defaultValueService.setEquipementValeurDefaut(eq1);
+        assertNull(eq1.getTauxUtilisation());
+    }
+
+    @Test
+    void importEqPhysique_with_TauxUtilisationOK_shouldReturnSameTaux() {
+        EquipementPhysique eq1 = equipementPhysique();
+        double tauxOK = 0.74;
+        eq1.setTauxUtilisation(tauxOK);
+        defaultValueService.setEquipementValeurDefaut(eq1);
+        assertEquals(tauxOK, eq1.getTauxUtilisation(), 0.01);
+    }
+
+    @Test
+    void importEqPhysique_with_ModeUtilisationKO_shouldBeReplacedByNull() {
+        EquipementPhysique eq1 = equipementPhysique();
+        eq1.setModeUtilisation("MODE_INCONNU");
+        defaultValueService.setEquipementValeurDefaut(eq1);
+        assertNull(eq1.getModeUtilisation());
+    }
+
+    @Test
+    void importEqPhysique_with_ModeUtilisationOK_shouldReturnSameMode() {
+        EquipementPhysique eq1 = equipementPhysique();
+        eq1.setModeUtilisation(mode);
+        defaultValueService.setEquipementValeurDefaut(eq1);
+        assertEquals(mode, eq1.getModeUtilisation());
+    }
+}