diff --git a/__manifest__.py b/__manifest__.py
index 15d01adecfcfd74e678ab2d2162d5e63fba6b98b..d243f7d073a758568bd94a28676e17e2efe88056 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -15,6 +15,7 @@
         "wizard/acc_sale_price_wizard_views.xml",
         "wizard/acc_sale_price_surplus_wizard_views.xml",
         "wizard/acc_price_conf_wizard_views.xml",
+        "wizard/acc_update_price_conf_wizard_views.xml",
         "wizard/acc_account_wizard_views.xml",
         "wizard/acc_account_surplus_wizard_views.xml",
         # views
diff --git a/models/acc_price_conf.py b/models/acc_price_conf.py
index 0e55429d8c5b2042dd2ff2df9c3ab0af7cdcbf6f..ffa74a6e3500f9b0c193eea3bc014b8cd6f1dbde 100644
--- a/models/acc_price_conf.py
+++ b/models/acc_price_conf.py
@@ -70,8 +70,9 @@ class AccPriceConf(models.Model):
                 acc_buyer_id = False
             if "start_date" in vals:
                 start_date = fields.Date.to_date(vals["start_date"])
-            type = self.env.context.get("type")
-            vals["type"] = type
+            if "type" in vals:
+                type = vals["type"]
+
             # If date start period doesn't exist
             if type == "buyer":
                 price_ids = self.env["acc.price.conf"].search(
@@ -173,3 +174,4 @@ class AccPriceConf(models.Model):
         vals_list += new_vals
         res = super(AccPriceConf, self).create(vals_list)
         return res
+
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 4f95c3faf3f29caa39098db133a78b3151753b74..810f994377ad41234ebcab09205b232b97472be3 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -9,6 +9,8 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
 "access_acc_sale_price_wizard_group_user","acc_sale_price_wizard group_user","model_acc_sale_price_wizard","base.group_user",1,0,0,0
 "access_acc_price_conf_wizard_group_partner_manager","acc_price_conf_wizard group_partner_manager","model_acc_price_conf_wizard","base.group_partner_manager",1,1,1,1
 "access_acc_price_conf_wizard_group_user","acc_price_conf_wizard group_user","model_acc_price_conf_wizard","base.group_user",1,0,0,0
+"access_acc_update_price_conf_wizard_group_partner_manager","acc_update_price_conf_wizard group_partner_manager","model_acc_update_price_conf_wizard","base.group_partner_manager",1,1,1,1
+"access_acc_update_price_conf_wizard_group_user","acc_update_price_conf_wizard group_user","model_acc_update_price_conf_wizard","base.group_user",1,0,0,0
 "access_acc_sale_price_surplus_wizard_group_partner_manager","acc_sale_price_surplus_wizard group_partner_manager","model_acc_sale_price_surplus_wizard","base.group_partner_manager",1,1,1,1
 "access_acc_sale_price_surplus_wizard_group_user","acc_sale_price_surplus_wizard group_user","model_acc_sale_price_surplus_wizard","base.group_user",1,0,0,0
 "access_acc_account_group_partner_manager","acc_account group_partner_manager","model_acc_account","base.group_partner_manager",1,1,1,1
diff --git a/wizard/__init__.py b/wizard/__init__.py
index f5bf661aef42eb8d58deec2bc325c670b0deb52e..9de1392510b7c514f21d5aebb313ad6bb4e62ffb 100644
--- a/wizard/__init__.py
+++ b/wizard/__init__.py
@@ -3,6 +3,7 @@
 
 from . import acc_sale_price_wizard
 from . import acc_price_conf_wizard
+from . import acc_update_price_conf_wizard
 from . import acc_sale_price_surplus_wizard
 from . import acc_account_wizard
 from . import acc_account_surplus_wizard
diff --git a/wizard/acc_price_conf_wizard.py b/wizard/acc_price_conf_wizard.py
index 3e1cf400d98e4446b1fc945fbb6b60c203c31c87..b78182784d63d1844f52b6ff2a7a25bb26b30e83 100644
--- a/wizard/acc_price_conf_wizard.py
+++ b/wizard/acc_price_conf_wizard.py
@@ -13,6 +13,7 @@ class AccPriceConfWizard(models.TransientModel):
         return self.env.context.get("type")
 
     def _default_price_conf_ids(self):
+        # If click button on operation view
         type = self.env.context.get("type")
         if type == "buyer":
             inj_ids = self.env["acc.counter"].search(
@@ -31,15 +32,12 @@ class AccPriceConfWizard(models.TransientModel):
                         "acc_buyer_id": inj.buyer_id.id,
                         "acc_injection_id": inj.id,
                         "acc_operation_id": self.env.context.get("active_id"),
+                        "type": type
                     },
                 )
-                # # if there isn't a demo line record for the user, create a new one
-                # if not rec.acc_sale_price_ids.filtered(lambda x: x.acc_operation_id == op) else
-                # # otherwise, return the line
-                # (4, rec.acc_sale_price_ids.filtered(lambda x: x.acc_operation_id == usr)[0].id)
                 for inj in inj_ids
             ]
-        else:
+        elif type == "sale" or type == "accise":
             inj_ids = self.env["acc.counter"].search(
                 [
                     ("is_injection", "=", True),
@@ -61,16 +59,32 @@ class AccPriceConfWizard(models.TransientModel):
                         "acc_delivery_id": rec.id,
                         "acc_injection_id": inj.id,
                         "acc_operation_id": self.env.context.get("active_id"),
+                        "type": type
                     },
                 )
-                # # if there isn't a demo line record for the user, create a new one
-                # if not rec.acc_sale_price_ids.filtered(lambda x: x.acc_operation_id == op) else
-                # # otherwise, return the line
-                # (4, rec.acc_sale_price_ids.filtered(lambda x: x.acc_operation_id == usr)[0].id)
                 for rec in recs
                 for inj in inj_ids
             ]
-
+        else:
+            # Objects selected from list view
+            active_ids = self._context.get('active_ids')
+            if active_ids:
+                return [
+                    (
+                        0,
+                        0,
+                        {
+                            "acc_delivery_id": self.env["acc.price.conf"].browse(
+                                rec).acc_delivery_id.id,
+                            "acc_injection_id": self.env["acc.price.conf"].browse(
+                                rec).acc_injection_id.id,
+                            "acc_operation_id": self.env["acc.price.conf"].browse(
+                                rec).acc_operation_id.id,
+                            "type": self.env["acc.price.conf"].browse(rec).type
+                        },
+                    )
+                    for rec in active_ids
+                ]
 
     acc_price_conf_ids = fields.Many2many(
         "acc.price.conf", default=lambda self: self._default_price_conf_ids()
diff --git a/wizard/acc_price_conf_wizard_views.xml b/wizard/acc_price_conf_wizard_views.xml
index c284b60ffd709e24822116827ebc1f7d982bc89a..20005eac297006becba37f1746bd0d4d892c39a2 100644
--- a/wizard/acc_price_conf_wizard_views.xml
+++ b/wizard/acc_price_conf_wizard_views.xml
@@ -10,7 +10,7 @@
                 <group>
                     <group>
                         <field name="start_date" />
-                        <field name="type" invisible="1"/>
+                        <field name="type" />
                     </group>
                 </group>
                 <field
@@ -71,20 +71,28 @@
     </record>
 
     <record id="act_x2many_2d_matrix_sale" model="ir.actions.act_window">
-        <field name="name">Gestion prix de vente</field>
+        <field name="name">Générer des prix de vente</field>
         <field name="type">ir.actions.act_window</field>
         <field name="res_model">acc.price.conf.wizard</field>
         <field name="view_mode">form</field>
         <field name="view_id" ref="x2many_2d_matrix_sale" />
         <field name="target">new</field>
+        <field name="domain">[('type', '=', 'sale')]</field>
+        <field name="context">{'default_type': 'sale'}</field>
+        <field name="binding_model_id" ref="acc_account.model_acc_price_conf" />
+        <field name="binding_view_types">list</field>
     </record>
 
     <record id="act_x2many_2d_matrix_buyer" model="ir.actions.act_window">
-        <field name="name">Gestion prix d'achat</field>
+        <field name="name">Générer des prix d'achat</field>
         <field name="type">ir.actions.act_window</field>
         <field name="res_model">acc.price.conf.wizard</field>
         <field name="view_mode">form</field>
         <field name="view_id" ref="x2many_2d_matrix_buyer" />
+        <field name="binding_model_id" ref="acc_account.model_acc_price_conf" />
+        <field name="domain">[('type', '=', 'buyer')]</field>
+        <field name="context">{'default_type': 'buyer'}</field>
+        <field name="binding_view_types">list</field>
         <field name="target">new</field>
     </record>
 
diff --git a/wizard/acc_update_price_conf_wizard.py b/wizard/acc_update_price_conf_wizard.py
new file mode 100644
index 0000000000000000000000000000000000000000..3570cec1e5a41e786636be9f9690a07c4def6e67
--- /dev/null
+++ b/wizard/acc_update_price_conf_wizard.py
@@ -0,0 +1,14 @@
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+from odoo import fields, models
+
+
+class AccUpdatePriceConfWizard(models.TransientModel):
+    _name = "acc.update.price.conf.wizard"
+    _description = "Mise à jour des prix wizard"
+
+    price = fields.Float("Tarif à mettre à jour", digits="Sale Price")
+
+    def update_price(self):
+        acc_price_ids = self.env["acc.price.conf"].browse(self._context.get('active_ids'))
+        for price in acc_price_ids:
+            price.price = self.price
diff --git a/wizard/acc_update_price_conf_wizard_views.xml b/wizard/acc_update_price_conf_wizard_views.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1e479ec5153dc95397885137e92f1f49bee562da
--- /dev/null
+++ b/wizard/acc_update_price_conf_wizard_views.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+
+    <record id="view_acc_price_conf_update_price" model="ir.ui.view">
+        <field name="name">acc.price.conf.update.price.wizard</field>
+        <field name="model">acc.update.price.conf.wizard</field>
+        <field name="arch" type="xml">
+            <form string="Mise à jour du prix">
+                <group>
+                    <field name="price"/>
+                </group>
+                <footer>
+                    <button string="Mettre à jour" name="update_price" type="object" class="btn-primary"/>
+                    <button string="Annuler" class="btn-default" special="cancel"/>
+                </footer>
+            </form>
+        </field>
+    </record>
+
+    <record id="acc_price_conf_update_price_action" model="ir.actions.act_window">
+        <field name="name">Mise à jour du prix en masse</field>
+        <field name="res_model">acc.update.price.conf.wizard</field>
+        <field name="view_mode">form</field>
+        <field name="view_id" ref="view_acc_price_conf_update_price"/>
+        <field name="target">new</field>
+        <field name="binding_model_id" ref="acc_account.model_acc_price_conf" />
+        <field name="binding_view_types">list</field>
+    </record>
+
+
+</odoo>