diff --git a/models/res_partner.py b/models/res_partner.py
index 3e1edca0dd5a543cff56a38d03a6e746850f02b2..15305eeb6e86d3948388e2524a8ddd03abfe07ea 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -91,12 +91,10 @@ class ScopPartner(models.Model):
         store=True,
     )
     member_number = fields.Char(
-        "No adhérent (texte)", compute="_compute_membership", store=True
+        "No adhérent (texte)", compute="_compute_membership_number", store=True
     )
     member_number_int = fields.Integer(
         "No adhérent",
-        compute="_compute_membership_int",
-        store=True,
         group_operator="",
     )
     member_start_stat = fields.Date(
@@ -974,11 +972,9 @@ class ScopPartner(models.Model):
             if len(partner.action_rse_ids) != 0:
                 partner.is_rse = True
 
-    # TODO: déplacer dans adhésions ? cotisations?
     @api.depends(
         "membership_period_ids",
         "membership_period_ids.end_reason_id",
-        "membership_period_ids.number",
         "membership_period_ids.end",
     )
     def _compute_membership(self):
@@ -988,24 +984,24 @@ class ScopPartner(models.Model):
                 last_membership_period = self.env["scop.membership.period"].search(
                     [("partner_id", "=", partner.id), ("type_id", "=", type_cg)],
                     limit=1,
-                    order="start desc",
+                    order="start,id desc",
                 )
                 if last_membership_period and not last_membership_period.end:
                     partner.membership_status = "member"
-                    partner.member_number = last_membership_period.number
                     partner.member_start_stat = last_membership_period.start_stat
                     partner.member_start = last_membership_period.start
                 elif last_membership_period and last_membership_period.end_reason_id:
                     partner.membership_status = "out"
-                    partner.member_number = last_membership_period.number
             else:
                 partner.membership_status = "not_member"
 
-    @api.depends("member_number")
-    def _compute_membership_int(self):
+    @api.depends("member_number_int")
+    def _compute_membership_number(self):
         for partner in self:
-            if partner.member_number:
-                partner.member_number_int = int(partner.member_number)
+            if partner.member_number_int:
+                partner.member_number = str(partner.member_number_int)
+            else:
+                partner.member_number = False
 
     @api.depends("membership_period_ids", "membership_period_ids.end")
     def _compute_federation(self):