diff --git a/__init__.py b/__init__.py
index aa3b1de85c711057427efc896571a5cc9a75dd1b..1616d6a64aaa6afe10fd4c47baa9123a867ecde4 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,5 +1,4 @@
 # Copyright 2023 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from . import models
-from . import wizards
+from . import models, wizards
diff --git a/__manifest__.py b/__manifest__.py
index fa2324b8b61a3845f7f5b005aaf65fd0d77d8e22..30aebb971e64fdd4171258927b32c6084070ee11 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -13,7 +13,7 @@
         "views/acc_operation_views.xml",
         # views menu
         # wizard
-        "wizards/acc_operation_wizard_views.xml"
+        "wizards/acc_operation_wizard_views.xml",
     ],
     "assets": {
         "web._assets_primary_variables": [],
diff --git a/models/acc_operation.py b/models/acc_operation.py
index 67ea361ab329ec27f44b659b3cf927d10ee0ad34..10e1ead58dc1a3d691d0939fbd1e2c1396ed9c07 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -1,10 +1,11 @@
 # Copyright 2023 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 import logging
-import pytz
-
 from datetime import date, datetime
 
+import pytz
+from dateutil.relativedelta import relativedelta
+
 from odoo import _, fields, models
 from odoo.exceptions import UserError
 
@@ -44,34 +45,6 @@ class AccOperation(models.Model):
     # ------------------------------------------------------
     # Actions
     # ------------------------------------------------------
-    # def curves(self):
-    #     self.ensure_one()
-    #     message = self.get_curves()
-    #
-    #     # Logs information
-    #     log_id = self.env["acc.logs"].create(
-    #         {
-    #             "name": "Appel API Enedis Courbes du " + str(fields.Date.today()),
-    #             "date_launched": fields.Datetime.now(),
-    #             "type_log": "api",
-    #             "message": message,
-    #             "acc_operation_id": self.id,
-    #         }
-    #     )
-    #
-    #     view_id = self.env.ref("oacc.acc_logs_form").id
-    #     return {
-    #         "name": "LOGS",
-    #         "view_type": "form",
-    #         "view_mode": "form",
-    #         "views": [(view_id, "form")],
-    #         "res_model": "acc.logs",
-    #         "view_id": view_id,
-    #         "type": "ir.actions.act_window",
-    #         "res_id": log_id.id,
-    #         "target": "new",
-    #         "flags": {"initial_mode": "view"},
-    #     }
 
     def get_perimeter(self):
         self.ensure_one()
@@ -106,11 +79,8 @@ class AccOperation(models.Model):
     # API functions
     # ------------------------------------------------------
     def curves(
-        self,
-        date_start,
-        date_end,
-        usage_point_cons_ids=None,
-        usage_point_prod_ids=None):
+        self, date_start, date_end, usage_point_cons_ids=None, usage_point_prod_ids=None
+    ):
         """
         Récupère les données de l'opération concernant le périmètre:
          - liste des PRM
@@ -134,36 +104,55 @@ class AccOperation(models.Model):
 
         if usage_point_cons_ids:
             # Traitement données de cons
-            message += "<br/><strong>Traitement des données de consommation</strong><br/>"
+            message += (
+                "<br/><strong>Traitement des données de consommation</strong><br/>"
+            )
             for usage_point_id in usage_point_cons_ids:
-                desc = "Opération: " + self.name + " - PRM: " + usage_point_id.name + " - Date: " + str(fields.Datetime.today())
+                desc = (
+                    "Opération: "
+                    + self.name
+                    + " - PRM: "
+                    + usage_point_id.name
+                    + " - Date: "
+                    + str(fields.Datetime.today())
+                )
                 # 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)
+                    date_end, date_start, ["cons,autocons,complement"], usage_point_id
+                )
 
         if usage_point_prod_ids:
             # Traitement données de prod
             message += "<br/><strong>Traitement des données de production</strong><br/>"
             for usage_point_id in usage_point_prod_ids:
-                desc = "Opération: " + self.name + " - PRM: " + usage_point_id.name + " - Date: " + str(
-                    fields.Datetime.today())
+                desc = (
+                    "Opération: "
+                    + self.name
+                    + " - PRM: "
+                    + usage_point_id.name
+                    + " - Date: "
+                    + str(fields.Datetime.today())
+                )
                 self.with_delay(description=desc).get_definitive_load_curves(
-                # message += self.with_delay(description=desc).get_definitive_load_curves(
+                    # message += self.with_delay(description=desc).get_definitive_load_curves(
                     date_end,
                     date_start,
                     ["surplus,prod"],
-                    usage_point_id)
+                    usage_point_id,
+                )
 
         message += (
             "<br/><h1>Fin appel API Courbes: " + str(fields.Datetime.now()) + "</h1>"
         )
         # Logs information
-        log_id = self.env["acc.logs"].create(
+        self.env["acc.logs"].create(
             {
-                "name": "Appel API Enedis Courbes du " + str(fields.Date.today()) + " - Période " + str(date_start) + " " + str(date_end),
+                "name": "Appel API Enedis Courbes du "
+                + str(fields.Date.today())
+                + " - Période "
+                + str(date_start)
+                + " "
+                + str(date_end),
                 "date_launched": fields.Datetime.now(),
                 "type_log": "api",
                 "message": message,
@@ -172,14 +161,21 @@ class AccOperation(models.Model):
         )
 
     def get_definitive_load_curves(
-        self, date_end, date_start, type_curve, usage_point_id):
+        self, date_end, date_start, type_curve, usage_point_id
+    ):
 
         message = str()
         message += "PRM " + usage_point_id.name + "\n"
         message += "Appel API ...\n"
         curves_data = self._get_definitive_load_curves(
-            self.name, date_end, date_start, type_curve,
-            usage_point_id.name, self.client_id, self.secret_id)
+            self.name,
+            date_end,
+            date_start,
+            type_curve,
+            usage_point_id.name,
+            self.client_id,
+            self.secret_id,
+        )
         message += "Appel API terminé. Traitement des données ...\n"
 
         curves = curves_data.get("curves")
diff --git a/wizards/acc_operation_wizard.py b/wizards/acc_operation_wizard.py
index f6b966f4f8d9e2a0b22970bfae703e653dcb722a..8a6c5716a43150df4e98e714f8d9d4d81413f520 100644
--- a/wizards/acc_operation_wizard.py
+++ b/wizards/acc_operation_wizard.py
@@ -13,11 +13,16 @@ class AccOperationWizard(models.TransientModel):
     # Fields declaration
     # ------------------------------------------------------
     def _default_operation_id(self):
-        op = self.env['acc.operation'].browse(self.env.context.get('active_ids')[0] if self.env.context.get('active_ids') else [])
+        op = self.env["acc.operation"].browse(
+            self.env.context.get("active_ids")[0]
+            if self.env.context.get("active_ids")
+            else []
+        )
         return op
 
     operation_id = fields.Many2one(
-        "acc.operation", default=lambda self: self._default_operation_id())
+        "acc.operation", default=lambda self: self._default_operation_id()
+    )
     date_start = fields.Date("Date de début")
     date_end = fields.Date("Date de fin")
     prm_cons_ids = fields.Many2many(
@@ -26,14 +31,16 @@ class AccOperationWizard(models.TransientModel):
         column1="cons_id",
         column2="op_id",
         domain=[("is_delivery", "=", True)],
-        string="PRM de soutirage")
+        string="PRM de soutirage",
+    )
     prm_prod_ids = fields.Many2many(
         "acc.counter",
         relation="acc_counter_prod_rel",
         column1="prod_id",
         column2="op_id",
         domain=[("is_injection", "=", True)],
-        string="PRM d'injection")
+        string="PRM d'injection",
+    )
 
     # ------------------------------------------------------
     # SQL Constraints
@@ -66,7 +73,7 @@ class AccOperationWizard(models.TransientModel):
         if (self.date_end - self.date_start).days > 31:
             raise UserError(_("L'intervalle de temps ne doit pas dépasser 31 Jours"))
 
-        if (self.date_end <= self.date_start):
+        if self.date_end <= self.date_start:
             raise UserError(_("La date de fin doit être supérieure à la date de début"))
 
         self.operation_id.curves(
diff --git a/wizards/acc_operation_wizard_views.xml b/wizards/acc_operation_wizard_views.xml
index f9e9c4bbf24657a9f40b7a01feecf89d13bf8059..d94ddbc7840f545c6fe75c4b567fb1740df542c8 100644
--- a/wizards/acc_operation_wizard_views.xml
+++ b/wizards/acc_operation_wizard_views.xml
@@ -7,7 +7,7 @@
         <field name="arch" type="xml">
             <form>
                 <group>
-                    <field name="operation_id" invisible="1"/>
+                    <field name="operation_id" invisible="1" />
                     <field
                         name="prm_cons_ids"
                         widget="many2many_tags"
@@ -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"