diff --git a/models/acc_operation.py b/models/acc_operation.py
index 2bd2454a7c177a5e01d23479edd5eb0c925aeba2..1b699411cd5b8c1b3dacdc219f6e906fe65c6bab 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -100,8 +100,8 @@ class AccOperation(models.Model):
         repartition = self.env["acc.repartition.keys"].create({"operation_id": self.id})
 
         data = None
-        for piority in self.acc_priority_group_ids:
-            data = piority.compute(data)
+        for priority in self.acc_priority_group_ids:
+            data = priority.compute(data)
 
         if not data:
             raise ValidationError(
@@ -115,36 +115,36 @@ class AccOperation(models.Model):
                 total_affecte = sum(affect.values())
 
                 slot_result = {}
-                for counter in affect:
-                    counter_id = self.env["acc.counter"].search(
-                        [("name", "=", counter)]
-                    )
+                for counter_id in affect:
                     if total_affecte == 0:
                         weight = 0.0
                     else:
-                        weight = round((affect.get(counter) * 100) / total_affecte, 8)
+                        weight = round(
+                            (affect.get(counter_id) * 100) / total_affecte, 8
+                        )
 
-                    slot_result[counter_id.id] = weight
+                    slot_result[counter_id] = weight
 
                 total_weight = sum(slot_result.values())
                 max_value = None
                 if total_weight > 100.0:
                     max_value = max(slot_result.values())
 
-                for result in slot_result:
+                slot_line = []
+                for counter in slot_result:
                     if max_value is not None:
-                        if slot_result[result] == max_value:
-                            slot_result[result] -= 0.0000001
-
-                    self.env["acc.repartition.counter"].create(
+                        if slot_result[counter] == max_value:
+                            slot_result[counter] -= 0.0000001
+                    slot_line.append(
                         {
                             "acc_repartition_id": repartition.id,
                             "time_slot": slot,
-                            "weight": slot_result[result],
-                            "acc_counter_id": result,
+                            "weight": slot_result[counter],
+                            "acc_counter_id": counter.id,
                         }
                     )
 
+            self.env["acc.repartition.counter"].create(slot_line)
 
     # ------------------------------------------------------
     # Computed fields / Search Fields
diff --git a/models/acc_priority_group.py b/models/acc_priority_group.py
index 4aeec6f8456135608694f0053b7564c428129aa8..7f8b139761e7dd3ef363072207abca982006c6eb 100644
--- a/models/acc_priority_group.py
+++ b/models/acc_priority_group.py
@@ -158,13 +158,11 @@ class AccPriorityGroup(models.Model):
             if not data.get(slot).get("affect"):
                 data[slot]["affect"] = {}
 
-            for counter in self.acc_priority_group_counter_ids.acc_counter_id.mapped(
-                "name"
-            ):
+            for counter in self.acc_priority_group_counter_ids.acc_counter_id:
                 if prod == 0 or priority_counters_conso_sum == 0:
                     part_a_affecter = 0.0
                 else:
-                    conso_k = data.get(slot).get("conso").get(counter)
+                    conso_k = data.get(slot).get("conso").get(counter.name)
                     part_a_affecter = min(
                         conso_k, prod * (conso_k / priority_counters_conso_sum)
                     )
diff --git a/models/acc_repartition_counter.py b/models/acc_repartition_counter.py
index e88844c81e8d3d8860784ce63e25944bbb6474ee..dd316bf1f4e639d304bace7b2035b912695f9f9d 100644
--- a/models/acc_repartition_counter.py
+++ b/models/acc_repartition_counter.py
@@ -7,7 +7,7 @@ class AccRepartitionCounter(models.Model):
 
     acc_repartition_id = fields.Many2one("acc.repartition.keys", "Clé", required=True)
     weight = fields.Float(string="Répartition en pourcentage", required=False)
-    time_slot = fields.Datetime("Horodatage de la clé")
+    time_slot = fields.Datetime("Horodatage de la clé", required=True)
     acc_counter_id = fields.Many2one("acc.counter", string="Compteur", required=True)
     acc_operation_id = fields.Many2one(
         comodel_name="acc.operation", compute="_compute_operation_id", store=True
diff --git a/wizard/acc_repartition_keys_compute_wizard.py b/wizard/acc_repartition_keys_compute_wizard.py
index 58237040a08ca55badb84eb1f22e56205e98280e..eb7a3fefc257512afda96153e35836cf8df62561 100644
--- a/wizard/acc_repartition_keys_compute_wizard.py
+++ b/wizard/acc_repartition_keys_compute_wizard.py
@@ -49,7 +49,6 @@ class AccRepartitionKeysComputeWizard(models.TransientModel):
     # ------------------------------------------------------
 
     def send_keys(self):
-
         if not self.operation_id.acc_priority_group_ids:
             raise ValidationError(
                 _("Aucune priorité n'est définie pour cette opération.")
@@ -58,13 +57,13 @@ class AccRepartitionKeysComputeWizard(models.TransientModel):
         self.operation_id.action_send_repartition_keys()
 
     def get_csv(self):
-
         if not self.operation_id.acc_priority_group_ids:
             raise ValidationError(
                 _("Aucune priorité n'est définie pour cette opération.")
             )
 
         job_description = f"{self.operation_id.name} - Generate repartition CSV "
+
         try:
             self.operation_id.with_delay(
                 description=job_description
@@ -75,7 +74,6 @@ class AccRepartitionKeysComputeWizard(models.TransientModel):
         return {"type": "ir.actions.act_window_close"}
 
     def compute_keys(self):
-
         if not self.operation_id.acc_priority_group_ids:
             raise ValidationError(
                 _("Aucune priorité n'est définie pour cette opération.")