diff --git a/models/survey_user_input.py b/models/survey_user_input.py
index 14df35da044cc9ed9e48eaf70560fc4ad1e19930..20b76fccfa169b17fdfddc7b58f6db44a52d2741 100644
--- a/models/survey_user_input.py
+++ b/models/survey_user_input.py
@@ -4,6 +4,7 @@
 from werkzeug.urls import url_join
 
 from odoo import Command, fields, models
+from odoo.exceptions import UserError
 
 
 class SurveyUserInput(models.Model):
@@ -120,6 +121,21 @@ class SurveyUserInput(models.Model):
         self.ensure_one()
         self.update({"state": "in_progress", "is_resent": True})
 
+    def action_create_student(self):
+        if self.student_id:
+            raise UserError("Un stagiaire est déjà associé à cette réponse")
+        if not self.training_id:
+            raise UserError(
+                "Impossible de créer le stagiaire, aucune formation "
+                "n'est associée à cette réponse"
+            )
+        if self.training_survey_type != "subscribe":
+            raise UserError(
+                "On ne peut créer un stagiaire qu'à partir d'une réponse "
+                "de questionnaire d'inscription"
+            )
+        self._create_student()
+
     # ------------------------------------------------------
     # Business method
     # ------------------------------------------------------
diff --git a/views/survey_user_input.xml b/views/survey_user_input.xml
index 4c4421bb8c72b1555bef4b8a3bf96b428e1f885b..28b1d06be59dd1faa3816b17b4de2a9007568a57 100644
--- a/views/survey_user_input.xml
+++ b/views/survey_user_input.xml
@@ -7,6 +7,14 @@
         <field name="inherit_id" ref="survey.survey_user_input_view_form" />
         <field name="priority">60</field>
         <field name="arch" type="xml">
+            <xpath expr="//header" position="inside">
+                <button
+                    name="action_create_student"
+                    type="object"
+                    string="ObjectButton"
+                    attrs="{'invisible': ['|', '|', ('student_id', '!=', False), ('training_id', '=', False), ('training_survey_type', '!=', 'subscribe')]}"
+                />
+            </xpath>
             <xpath expr="//sheet/group/group" position="inside">
                 <field name="comment" />
                 <field
@@ -38,6 +46,11 @@
                     name="training_id"
                     attrs="{'invisible': [('training_survey_type', '=', False)]}"
                 />
+                <field
+                    name="student_id"
+                    readonly="1"
+                    attrs="{'invisible': [('training_survey_type', '=', False)]}"
+                />
                 <field
                     name="training_survey_type"
                     attrs="{'invisible': [('training_survey_type', '=', False)]}"
@@ -46,6 +59,38 @@
         </field>
     </record>
 
+    <!-- Tree View -->
+    <record id="survey_user_input_training_tree" model="ir.ui.view">
+        <field name="name">survey.user_input.training.list</field>
+        <field name="model">survey.user_input</field>
+        <field name="inherit_id" ref="survey.survey_user_input_view_tree" />
+        <field name="priority">60</field>
+        <field name="arch" type="xml">
+            <xpath expr="//field[@name='scoring_percentage']" position="after">
+                <field
+                    name="is_resent"
+                    readonly="1"
+                    optional="hide"
+                />
+                <field
+                    name="training_id"
+                    attrs="{'invisible': [('training_survey_type', '=', False)]}"
+                    optional="hide"
+                />
+                <field
+                    name="training_survey_type"
+                    attrs="{'invisible': [('training_survey_type', '=', False)]}"
+                    optional="hide"
+                />
+                <field
+                    name="student_id"
+                    attrs="{'invisible': [('training_survey_type', '=', False)]}"
+                    optional="hide"
+                />
+            </xpath>
+        </field>
+    </record>
+
     <!-- Kanban View -->
     <record id="survey_user_input_training_kanban" model="ir.ui.view">
         <field name="name">survey.user_input.training.kanban</field>