diff --git a/models/res_partner.py b/models/res_partner.py
index 7374a59e5cea886e5bf8950c7eda94f753b90292..7ef62f14953ef7c46e9d841f7f053c039f3c0fd6 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -74,6 +74,27 @@ class ResPartner(models.Model):
             if partner.parent_id.membership_contact_id == partner:
                 partner.membership_is_contact = True
 
+    @api.depends(
+        "free_member",
+        "member_lines.state",
+        "member_lines.category_id",
+        "member_lines.date_from",
+        "member_lines.date_to",
+        "member_lines.date_cancel",
+        "associate_member.membership_state",
+        "associate_member.membership_category_ids",
+        "parent_id",
+        "parent_id.membership_state",
+    )
+    def _compute_membership_state(self):
+        """
+        Inherit parent function to attribute membership state to childs
+        """
+        super()._compute_membership_state()
+        for partner in self:
+            if partner.parent_id and not partner.is_company:
+                partner.membership_state = partner.parent_id.membership_state
+
     # ------------------------------------------------------
     # Onchange / Constraints
     # ------------------------------------------------------
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 37dc33ea73d62d261f01e0e211f9984ce019eeba..285d51e65ea5f64013b1199fdd8f4f0c2c57b0aa 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -4,7 +4,7 @@
 <odoo>
     <data>
 
-        <!-- Search View -->
+        <!-- Search View Partner -->
         <record model="ir.ui.view" id="res_partner_afac_member_filter">
             <field name="name">res.partner.afac.member.select</field>
             <field name="model">res.partner</field>
@@ -15,14 +15,24 @@
                 </xpath>
                 <xpath expr="//filter[@name='inactive']" position="before">
                     <filter
-                        string="Membres"
-                        name="member"
-                        domain="[('membership_state', 'in', ('free', 'paid'))]"
+                        string="Tous les Membres"
+                        name="all_member"
+                        domain="[('membership_state', 'in', ('free', 'invoiced', 'paid'))]"
+                    />
+                    <filter
+                        string="Structures Membres"
+                        name="company_member"
+                        domain="[('membership_state', 'in', ('free', 'invoiced', 'paid')), ('is_company', '=', True)]"
+                    />
+                    <filter
+                        string="Personnes Membres"
+                        name="people_member"
+                        domain="[('membership_state', 'in', ('free', 'invoiced', 'paid')), ('is_company', '!=', True)]"
                     />
                     <filter
                         string="En attente"
                         name="waiting_member"
-                        domain="[('membership_state', 'in', ('waiting', 'invoiced'))]"
+                        domain="[('membership_state', '=', 'waiting')]"
                     />
                     <filter
                         string="Anciens membres"
@@ -34,7 +44,7 @@
                 <xpath expr="//filter[@name='group_country']" position="before">
                     <filter
                         name="group_membership_state"
-                        string="Collège"
+                        string="Statut d'adhésion"
                         context="{'group_by': 'membership_state'}"
                     />
                     <separator />
@@ -42,6 +52,31 @@
             </field>
         </record>
 
+        <!-- Search View Membership -->
+        <record model="ir.ui.view" id="view_res_partner_member_filter">
+            <field name="name">res.partner.afac.member.select</field>
+            <field name="model">res.partner</field>
+            <field name="inherit_id" ref="membership.view_res_partner_member_filter" />
+            <field name="arch" type="xml">
+                <xpath expr="//filter[@name='all_members']" position="before">
+                    <filter
+                        name="company_members"
+                        string="Structures membres"
+                        domain="[('membership_state', 'in', ['invoiced', 'paid', 'free']), ('is_company', '=', True)]"
+                    />
+                    <filter
+                        name="people_members"
+                        string="Personnes membres"
+                        domain="[('membership_state', 'in', ['invoiced', 'paid', 'free']), ('is_company', '!=', True)]"
+                    />
+                </xpath>
+                <xpath expr="//filter[@name='all_members']" position="attributes">
+                    <attribute name="string">Tous les membres</attribute>
+                    <attribute name="help">Personnes et structures</attribute>
+                </xpath>
+            </field>
+        </record>
+
         <!-- Tree View -->
         <record model="ir.ui.view" id="res_partner_afac_tree">
             <field name="name">res.partner.afac.tree</field>
@@ -115,6 +150,7 @@
                     >
                         <group>
                             <group>
+                                <field name="membership_state" />
                                 <field name="membership_is_delegate" />
                                 <field name="membership_is_mandate" />
                                 <field name="membership_is_contact" />
@@ -125,5 +161,10 @@
             </field>
         </record>
 
+        <!-- Action -->
+        <record model="ir.actions.act_window" id="membership.action_membership_members">
+            <field name="context">{"search_default_company_members": 1,}</field>
+        </record>
+
     </data>
 </odoo>