diff --git a/wizard/scop_membership_out_wizard.py b/wizard/scop_membership_out_wizard.py
index 0ef03db691f3cc2761e3fdeb8a6491112c3623fb..ff93026c6684def0a792a6dd4c3321c3b9b5d4db 100644
--- a/wizard/scop_membership_out_wizard.py
+++ b/wizard/scop_membership_out_wizard.py
@@ -15,10 +15,13 @@ class ScopMembershipOutWizard(models.TransientModel):
         return self.env.context.get('active_id')
 
     partner_id = fields.Integer('Partner', default=_default_partner_id)
+    type_all = fields.Boolean(
+        string="Tous types d'adhésion",
+        default=True)
     type_id = fields.Many2one(
         'scop.membership.type',
         string="Type d'adhésion",
-        ondelete='restrict', required=True)
+        ondelete='restrict')
     end = fields.Date(
         "Fin d'adhésion", required=True, default=fields.Date.today())
     end_reason_id = fields.Many2one(
@@ -28,26 +31,55 @@ class ScopMembershipOutWizard(models.TransientModel):
         required=True)
     note = fields.Text('Commentaires')
 
+    
+    #............................................................
+    # Fermeture des périodes
+    #............................................................
     @api.multi
     def member_out(self):
-        # Close previous period
+
         for period in self:
-            last_period = self.env['scop.membership.period'].search(
-                [('partner_id', '=', period.partner_id),
-                 ('end', '=', False), ('type_id', '=', period.type_id.id)],
-                limit=1)
-            if last_period:
-                if period.end >= last_period.start:
-                    last_period.write({
-                        'end': period.end,
-                        'end_reason_id': period.end_reason_id.id,
-                        'note': period.note,
-                    })
-                else:
-                    raise ValidationError(
-                        "La date de fin doit être postèrieure à la date de "
-                        + "début de la dernière période: "
-                        + str(last_period.start))
+
+            # On veut cloture toute les périodes
+            if (period.type_all):
+                last_periods = self.env['scop.membership.period'].search(
+                [('partner_id', '=', period.partner_id),('end', '=', False)])
+                for lp in last_periods:
+                    period_type_id = lp.type_id.id
+                    period.member_out_period(period.partner_id, period_type_id, period.end, period.end_reason_id.id, period.note)    
+
+            # On ne veut cloturer qu'une seule période
+            else:
+                period_type_id = period.type_id.id
+                period.member_out_period(period.partner_id, period_type_id, period.end, period.end_reason_id.id, period.note)
+
+        return            
+
+    #............................................................
+    # Fermeture d'une période
+    #............................................................
+    def member_out_period(self, partner_id, period_type_id, end, end_reason_id, note):
+
+        # Lecture de la dernière période active
+        last_period = self.env['scop.membership.period'].search(
+            [('partner_id', '=', partner_id),
+             ('end', '=', False), ('type_id', '=', period_type_id)],
+            limit=1)
+        if last_period:
+            if end >= last_period.start:
+                last_period.write({
+                    'end': end,
+                    'end_reason_id': end_reason_id,
+                    'note': note,
+                })
             else:
                 raise ValidationError(
-                    "Il n'existe pas de période avec ce type à fermer.")
+                    "La date de fin doit être postèrieure à la date de "
+                    + "début de la dernière période: "
+                    + str(last_period.start))
+        else:
+            raise ValidationError(
+                "Il n'existe pas de période avec ce type à fermer.")
+
+        return
+
diff --git a/wizard/scop_membership_out_wizard.xml b/wizard/scop_membership_out_wizard.xml
index 7778d9724a200e6867d91f55ca76c44ead409759..81b6de724e942c11c434a002f3a55245c7da3863 100644
--- a/wizard/scop_membership_out_wizard.xml
+++ b/wizard/scop_membership_out_wizard.xml
@@ -7,7 +7,8 @@
         <field name="arch" type="xml">
             <form string="Radiation">
                 <group name="period" string="Radiation">
-                        <field name="type_id" options="{'no_open': True, 'no_create': True}"/>
+                        <field name="type_all"/>
+                        <field name="type_id" options="{'no_open': True, 'no_create': True}" attrs="{'required' : [('type_all','=', False)] ,'invisible': [('type_all','=', True)]}"/>
                         <field name="end"/>
                         <field name="end_reason_id" options="{'no_open': True, 'no_create': True}"/>
                         <field name="note"/>