diff --git a/__manifest__.py b/__manifest__.py
index ae22c7a38ec411e17471cb491b964f5715a4063c..8f6511c02a79fcce1b559b09470d483b631e81f9 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -11,6 +11,7 @@
         # datas
         # views
         "wizards/acc_operation_wizard_views.xml",
+        "wizards/acc_operation_wizard_confirm_views.xml",
         "views/acc_operation_views.xml",
         # views menu
     ],
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 8dfe7ddba803a0ace1cd62fe854300e1012eb97a..a00115af21e0e9f86a1a7d3a7585a4ad6e60b0b2 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -1,3 +1,5 @@
 id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
 "access_acc_operation_wizard_group_partner_manager","acc_operation_wizard group_partner_manager","model_acc_operation_wizard","base.group_partner_manager",1,1,1,1
 "access_acc_operation_wizard_group_user","acc_operation_wizard group_user","model_acc_operation_wizard","base.group_user",1,0,0,0
+"access_acc_operation_wizard_confirm_group_partner_manager","acc_operation_wizard_confirm group_partner_manager","model_acc_operation_wizard_confirm","base.group_partner_manager",1,1,1,1
+"access_acc_operation_wizard_confirm_group_user","acc_operation_wizard_confirm group_user","model_acc_operation_wizard_confirm","base.group_user",1,0,0,0
diff --git a/wizards/__init__.py b/wizards/__init__.py
index ddbfb3b9f6d01d7faaea73339637505722e74e49..c31866250efbc83b981f0b0a7b6e58f2e8c2c9c8 100644
--- a/wizards/__init__.py
+++ b/wizards/__init__.py
@@ -2,3 +2,4 @@
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
 from . import acc_operation_wizard
+from . import acc_operation_wizard_confirm
diff --git a/wizards/acc_operation_wizard.py b/wizards/acc_operation_wizard.py
index 01a2345c15b3e3225088a378a42d2c2e389790cf..31b7de23121acbb59c632047d583b884f5ddd36b 100644
--- a/wizards/acc_operation_wizard.py
+++ b/wizards/acc_operation_wizard.py
@@ -76,10 +76,48 @@ class AccOperationWizard(models.TransientModel):
         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(
-            self.date_start, self.date_end, self.prm_cons_ids, self.prm_prod_ids
-        )
-        return {"type": "ir.actions.act_window_close"}
+        # Vérification si des données existent déjà
+        # pour cet intervalle de date
+        domain_all = [
+            ("date_slot", ">=", self.date_start),
+            ("date_slot", "<=", self.date_end),
+            ("acc_operation_id", "=", self.operation_id.id)
+        ]
+        if self.prm_cons_ids and self.prm_prod_ids:
+            domain_all += ["|", ("acc_counter_id", "in", self.prm_cons_ids.ids),
+                           ("acc_counter_id", "in", self.prm_prod_ids.ids)]
+        elif self.prm_cons_ids:
+            domain_all += [("acc_counter_id", "in", self.prm_cons_ids.ids)]
+        elif self.prm_prod_ids:
+            domain_all += [("acc_counter_id", "in", self.prm_prod_ids.ids)]
+
+        rec_ids = self.env["acc.enedis.cdc"].search(domain_all)
+        if rec_ids:
+            wizard = self.env["acc.operation.wizard.confirm"].create(
+                {
+                    "operation_id": self.operation_id.id,
+                    "date_start": self.date_start,
+                    "date_end": self.date_end,
+                    "prm_cons_ids": self.prm_cons_ids,
+                    "prm_prod_ids": self.prm_prod_ids,
+                    "rec_ids": rec_ids,
+                    "mess": _("Des données existent déjà pour cette période. Etes-vous"
+                              " sûr de vouloir écraser 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.curves(
+                self.date_start, self.date_end, self.prm_cons_ids, self.prm_prod_ids
+            )
+            return {"type": "ir.actions.act_window_close"}
 
     # def get_curves_all(self):
     #     context = dict(self._context or {})
diff --git a/wizards/acc_operation_wizard_confirm.py b/wizards/acc_operation_wizard_confirm.py
new file mode 100644
index 0000000000000000000000000000000000000000..2b9c813d0f6c58c4fb5fec172a26725271411961
--- /dev/null
+++ b/wizards/acc_operation_wizard_confirm.py
@@ -0,0 +1,73 @@
+# Copyright 2023 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import _, fields, models
+from odoo.exceptions import UserError
+
+
+class AccOperationWizardConfirm(models.TransientModel):
+    _name = "acc.operation.wizard.confirm"
+    _description = "Confirmation récupération des données vie API"
+
+    # ------------------------------------------------------
+    # Fields declaration
+    # ------------------------------------------------------
+    operation_id = fields.Many2one(
+        "acc.operation")
+    date_start = fields.Date("Date de début")
+    date_end = fields.Date("Date de fin")
+    prm_cons_ids = fields.Many2many(
+        "acc.counter",
+        relation="acc_counter_cons_confirm_rel",
+        column1="cons_id",
+        column2="op_id",
+        domain=[("is_delivery", "=", True)],
+        string="PRM de soutirage",
+    )
+    prm_prod_ids = fields.Many2many(
+        "acc.counter",
+        relation="acc_counter_prod_confirm_rel",
+        column1="prod_id",
+        column2="op_id",
+        domain=[("is_injection", "=", True)],
+        string="PRM d'injection",
+    )
+    rec_ids = fields.Many2many("acc.enedis.cdc", string="Records")
+    mess = fields.Text(
+        string="Message",
+    )
+    # ------------------------------------------------------
+    # SQL Constraints
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Default methods
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Computed fields / Search Fields
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Onchange / Constraints
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # CRUD methods (ORM overrides)
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Actions
+    # ------------------------------------------------------
+    def get_valid(self):
+        # 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
+        )
+        return {"type": "ir.actions.act_window_close"}
+    # ------------------------------------------------------
+    # Business methods
+    # ------------------------------------------------------
diff --git a/wizards/acc_operation_wizard_confirm_views.xml b/wizards/acc_operation_wizard_confirm_views.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dc84e095a2ff2326176423559930bafebee495ca
--- /dev/null
+++ b/wizards/acc_operation_wizard_confirm_views.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<odoo>
+    <!-- WIZARD FORM -->
+    <record id="acc_operation_wizard_confirm_view_form" model="ir.ui.view">
+        <field name="name">acc.operation.wizard.confirm.form</field>
+        <field name="model">acc.operation.wizard.confirm</field>
+        <field name="arch" type="xml">
+            <form>
+                <div>
+                    <field
+                        class="o_field_header"
+                        name="mess"
+                        readonly="1"
+                    />
+                </div>
+                <group>
+                    <field name="operation_id" invisible="1" />
+                    <field name="prm_cons_ids" invisible="1"/>
+                    <field name="prm_prod_ids" invisible="1"/>
+                    <field name="date_start" invisible="1"/>
+                    <field name="date_end" invisible="1"/>
+                    <field name="rec_ids" invisible="1"/>
+                </group>
+                <footer>
+                    <button
+                        class="btn btn-sm btn-primary"
+                        name="get_valid"
+                        string="Valider"
+                        type="object"
+                    />
+                    <button
+                        class="btn btn-sm btn-default"
+                        special="cancel"
+                        string="Annuler"
+                    />
+                </footer>
+            </form>
+        </field>
+    </record>
+
+</odoo>