diff --git a/models/calendar.py b/models/calendar.py
index 4ee465cf7361a047d03aba966b7b10ff45ea4058..0e67bfb27ba10cfee2ce75056058881318c01862 100644
--- a/models/calendar.py
+++ b/models/calendar.py
@@ -11,10 +11,10 @@ from odoo.exceptions import UserError, ValidationError
 class CGScopAttendee(models.Model):
     _inherit = 'calendar.attendee'
 
-    timesheet_id = fields.Many2one(
+    timesheet_ids = fields.One2many(
         comodel_name='account.analytic.line',
+        inverse_name='attendee_id',
         string='Timesheet linked',
-        ondelete='set null',
         copy=False)
 
 
@@ -133,10 +133,14 @@ class CGScopCalendar(models.Model):
 
     def _compute_is_transfered(self):
         for event in self:
+            event_id = event.get_metadata()[0].get('id')
             attendee = self.env['calendar.attendee'].search([
-                ('event_id', '=', event.id),
+                ('event_id', '=', event_id),
                 ('partner_id', '=', self.env.user.partner_id.id)])
-            if attendee.timesheet_id:
+            # l'attendee a des feuilles de temps liées à la même date
+            if (attendee.timesheet_ids
+                    and attendee.timesheet_ids.filtered(
+                        lambda t: t.date == event.start.date())):
                 event.is_transfered = True
             else:
                 event.is_transfered = False
@@ -234,7 +238,8 @@ class CGScopCalendar(models.Model):
         """
         partner = self.env.user.partner_id
         for event in self:
-            if not partner in event.partner_ids:
+            event_id = event.get_metadata()[0].get('id')
+            if partner not in event.partner_ids:
                 raise UserError("Vous ne faites pas partie des participants, \
                     vous ne pouvez donc pas transformer cette entrée d'agenda \
                     en ligne de temps.")
@@ -243,9 +248,12 @@ class CGScopCalendar(models.Model):
                                 renseigné sur chaque entrée d'agenda")
             else:
                 attendee = self.env['calendar.attendee'].search([
-                    ('event_id', '=', event.id),
+                    ('event_id', '=', event_id),
                     ('partner_id', '=', partner.id)])
-                if attendee.timesheet_id:
+                # l'attendee a des feuilles de temps liées à la même date
+                if (attendee.timesheet_ids
+                        and attendee.timesheet_ids.filtered(
+                            lambda t: t.date == event.start.date())):
                     raise UserError("Vous avez déjà transféré cette entrée \
                                 d'agenda : %s" % event.name)
                 else:
@@ -258,7 +266,7 @@ class CGScopCalendar(models.Model):
                         'name': event.name,
                         'company_id': self.env.user.company_id.id,
                         'partner_id': event.coop_id.id,
-                        'event_id': event.id,
+                        'event_id': event_id,
                         'attendee_id': attendee.id,
                     }
                     # Gestion des évènements sur toute la journée