diff --git a/models/acc_operation.py b/models/acc_operation.py
index 88a759ee129de440a2ad0b1f7b3ca7968d6abb30..4d6a74d4ba888d296516e0a351c4454a873d461d 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -118,7 +118,7 @@ class AccOperation(models.Model):
                 )
                 # message += self.with_delay(description=desc).get_definitive_load_curves(
                 self.with_delay(description=desc).get_definitive_load_curves(
-                    date_end, date_start, ["cons,autocons,complement"], usage_point_id, "cons"
+                    date_end, date_start, usage_point_id, "cons"
                 )
 
         if usage_point_prod_ids:
@@ -137,7 +137,6 @@ class AccOperation(models.Model):
                     # message += self.with_delay(description=desc).get_definitive_load_curves(
                     date_end,
                     date_start,
-                    ["surplus,prod"],
                     usage_point_id,
                     "prod"
                 )
@@ -162,7 +161,7 @@ class AccOperation(models.Model):
         )
 
     def get_definitive_load_curves(
-        self, date_end, date_start, type_curve, usage_point_id, type_prm
+        self, date_end, date_start, usage_point_id, type_prm
     ):
 
         message = str()
@@ -172,7 +171,6 @@ class AccOperation(models.Model):
             self.name,
             date_end,
             date_start,
-            type_curve,
             usage_point_id.name,
             self.client_id,
             self.secret_id,
@@ -210,20 +208,23 @@ class AccOperation(models.Model):
         message += "Fin du traitement des données\n"
         return message
 
-    def get_curves_all(self, date_start):
-        # Calcul du nombre de mois entre la date de début de contrat
-        # de l'opération et la date du jour pour lancer la récupération des données
-        num_months = (date.today().year - date_start.year) * 12 + (
-            date.today().month - date_start.month
+    def get_curves_all(self):
+        """
+            Récupère les données de l'opération depuis le début de la mise en place
+            de l'opération. A partir de la date de début de contrat, calcul du nombre
+            de mois entre la date de début de contrat et la date du jour. Puis
+            récupération des données de tous les mois
+        """
+        nb_months = (date.today().year - self.date_start_contract.year) * 12 + (
+            date.today().month - self.date_start_contract.month
         )
 
-        date_start_it = date_start
-        date_end_it = date_start + relativedelta(months=1, days=-1)
+        date_start_it = self.date_start_contract
+        date_end_it = self.date_start_contract + relativedelta(months=1, days=-1)
 
-        token = self.access_token()
         i = 1
-        while i < num_months:
-            self.get_curves(date_start_it, date_end_it, token)
+        while i < nb_months:
+            self.curves(date_start_it, date_end_it)
             date_start_it = date_start_it + relativedelta(months=1)
             date_end_it = date_start_it + relativedelta(months=1, days=-1)
             i += 1
diff --git a/wizards/acc_operation_wizard.py b/wizards/acc_operation_wizard.py
index 533bde7fcd648a85570e0421bbc9ea4d7493fcad..73b569b565ac692ee6948c18f29026aa80265583 100644
--- a/wizards/acc_operation_wizard.py
+++ b/wizards/acc_operation_wizard.py
@@ -124,22 +124,39 @@ class AccOperationWizard(models.TransientModel):
             )
             return {"type": "ir.actions.act_window_close"}
 
-    # def get_curves_all(self):
-    #     context = dict(self._context or {})
-    #     if context.get("active_ids", False):
-    #         op = self.env["acc.operation"].browse(context.get("active_ids"))
-    #         if not op.date_start_contract:
-    #             raise UserError(
-    #                 _(
-    #                     "Renseigner une date de début de contrat pour"
-    #                     " pouvoir récupérer les courbes à partie de cette date."
-    #                 )
-    #             )
-    #         date_start = op.date_start_contract
-    #         self.env["acc.operation"].browse(context.get("active_ids")).get_curves_all(
-    #             date_start
-    #         )
-    #     return {"type": "ir.actions.act_window_close"}
+    def get_curves_all(self):
+        if not self.operation_id.date_start_contract:
+            raise UserError(
+                _(
+                    "Renseigner une date de début de contrat pour"
+                    " pouvoir récupérer les courbes à partir de cette date."
+                )
+            )
+
+        rec_ids = self.env["acc.enedis.cdc"].search([
+            ("acc_operation_id", "=", self.operation_id.id)])
+        if rec_ids:
+            wizard = self.env["acc.operation.wizard.confirm"].create(
+                {
+                    "operation_id": self.operation_id.id,
+                    "rec_ids": rec_ids,
+                    "mess": _(
+                        "Des données existent pour cette période. Etes-vous"
+                        " sûr de vouloir écraser toutes les données existantes?"
+                    ),
+                }
+            )
+            return {
+                "name": "Confirmation récupération des données",
+                "type": "ir.actions.act_window",
+                "view_mode": "form",
+                "res_model": "acc.operation.wizard.confirm",
+                "res_id": wizard.id,
+                "target": "new",
+            }
+        else:
+            self.operation_id.get_curves_all()
+            return {"type": "ir.actions.act_window_close"}
 
     # ------------------------------------------------------
     # Business methods
diff --git a/wizards/acc_operation_wizard_confirm.py b/wizards/acc_operation_wizard_confirm.py
index bf4d3cb8fb048c96fb49229681e50919ab98d2a4..39152c01333b53b5cb2b3ef521183d8dfad0c4d8 100644
--- a/wizards/acc_operation_wizard_confirm.py
+++ b/wizards/acc_operation_wizard_confirm.py
@@ -61,10 +61,16 @@ class AccOperationWizardConfirm(models.TransientModel):
         # Suppression des enregistrements existants
         self.rec_ids.unlink()
 
-        # Appel API
-        self.operation_id.curves(
-            self.date_start, self.date_end, self.prm_cons_ids, self.prm_prod_ids
-        )
+        # Appels API
+
+        # Si date présente, appel pour la période
+        if not self.date_start:
+            self.operation_id.curves(
+                self.date_start, self.date_end, self.prm_cons_ids, self.prm_prod_ids
+            )
+        else:
+        # Pas de date renseignée, récupération de toutes les données
+            self.operation_id.get_curves_all()
         return {"type": "ir.actions.act_window_close"}
 
     # ------------------------------------------------------
diff --git a/wizards/acc_operation_wizard_views.xml b/wizards/acc_operation_wizard_views.xml
index d94ddbc7840f545c6fe75c4b567fb1740df542c8..043337130bff3268a5b6c54c2872492a1085e372 100644
--- a/wizards/acc_operation_wizard_views.xml
+++ b/wizards/acc_operation_wizard_views.xml
@@ -32,12 +32,12 @@
                         string="Récupérer"
                         type="object"
                     />
-<!--                    <button-->
-<!--                        class="btn btn-sm btn-primary"-->
-<!--                        name="get_curves_all"-->
-<!--                        string="Récupérer depuis le début"-->
-<!--                        type="object"-->
-<!--                    />-->
+                    <button
+                        class="btn btn-sm btn-primary"
+                        name="get_curves_all"
+                        string="Récupérer depuis le début"
+                        type="object"
+                    />
                     <button
                         class="btn btn-sm btn-default"
                         special="cancel"