diff --git a/register/admin.py b/register/admin.py
index 8273b9e29e0f9b2aac75a2601e2104e3737ecd3b..f18b03b65b8f1151972ff51fd6255696c9d3246e 100644
--- a/register/admin.py
+++ b/register/admin.py
@@ -3,8 +3,6 @@
 from django.contrib import admin
 from .models import Registration
 
-# Register your models here.
-
 
 @admin.register(Registration)
 class RegistrationAdmin(admin.ModelAdmin):
diff --git a/visits/admin.py b/visits/admin.py
index b59f8e86fae1b189005b89a8211677d64a7e880e..7056c6da996d4be842a76c089466079d86ef9faf 100644
--- a/visits/admin.py
+++ b/visits/admin.py
@@ -42,6 +42,7 @@ class RegistrationsOpenFilter(admin.SimpleListFilter):
 class VisitForm(forms.ModelForm):
     """Custom admin form for Visit."""
 
+
     class Meta:  # noqa
         model = Visit
         fields = '__all__'
@@ -76,11 +77,25 @@ class VisitForm(forms.ModelForm):
 
 class ParticipationInline(admin.TabularInline):
     """Inline for Participation."""
-
+    # template = "visits/visit_tabular.md"
+    actions = ["export_as_csv"]
     model = Visit.participants.through
     extra = 0
-    fields = ('user', 'submitted', 'present')
-    readonly_fields = ('user', 'submitted')
+    fields = ('name', 'school', 'user', 'submitted', 'present')
+    readonly_fields = ('name', 'school', 'user', 'submitted')
+
+    def school(self, participation: Participation):
+        """Return a link to the participation's user's school."""
+        school = Student.objects.get(user = participation.user).school
+        return school
+    school.short_description = "Établissement"
+
+    def name(self, participation: Participation):
+        """Returns the participation's user's name"""
+        return participation.user.first_name + " " + participation.user.last_name
+    name.short_description = "Nom"
+
+
     class Media:
         css = { "all" : ("css/hide_admin_original.css",) }
 
diff --git a/visits/templates/visits/visit_tabular.md b/visits/templates/visits/visit_tabular.md
new file mode 100644
index 0000000000000000000000000000000000000000..f96903bb78ded1b7140e407cb9691f54716a9821
--- /dev/null
+++ b/visits/templates/visits/visit_tabular.md
@@ -0,0 +1,79 @@
+{% load i18n admin_urls static admin_modify %}
+<div class="js-inline-admin-formset inline-group" id="{{ inline_admin_formset.formset.prefix }}-group"
+     data-inline-type="tabular"
+     data-inline-formset="{{ inline_admin_formset.inline_formset_data }}">
+  <div class="tabular inline-related {% if forloop.last %}last-related{% endif %}">
+{{ inline_admin_formset.formset.management_form }}
+<fieldset class="module {{ inline_admin_formset.classes }}">
+   {% if inline_admin_formset.formset.max_num == 1 %}
+     <h2>{{ inline_admin_formset.opts.verbose_name|capfirst }}</h2>
+   {% else %}
+     <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2>
+   {% endif %}
+   {{ inline_admin_formset.formset.non_form_errors }}
+   <table>
+     <thead><tr>
+       <th class="original"></th>
+     {% for field in inline_admin_formset.fields %}
+       {% if not field.widget.is_hidden %}
+         <th class="column-{{ field.name }}{% if field.required %} required{% endif %}">{{ field.label|capfirst }}
+         {% if field.help_text %}<img src="{% static "admin/img/icon-unknown.svg" %}" class="help help-tooltip" width="10" height="10" alt="({{ field.help_text|striptags }})" title="{{ field.help_text|striptags }}">{% endif %}
+         </th>
+       {% endif %}
+     {% endfor %}
+     {% if inline_admin_formset.formset.can_delete and inline_admin_formset.has_delete_permission %}<th>{% translate "Delete?" %}</th>{% endif %}
+     </tr></thead>
+
+     <tbody>
+     {% for inline_admin_form in inline_admin_formset %}
+        {% if inline_admin_form.form.non_field_errors %}
+        <tr class="row-form-errors"><td colspan="{{ inline_admin_form|cell_count }}">{{ inline_admin_form.form.non_field_errors }}</td></tr>
+        {% endif %}
+        <tr class="form-row {% if inline_admin_form.original or inline_admin_form.show_url %}has_original{% endif %}{% if forloop.last and inline_admin_formset.has_add_permission %} empty-form{% endif %}"
+             id="{{ inline_admin_formset.formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
+        <td class="original">
+          {% if inline_admin_form.original or inline_admin_form.show_url %}<p>
+          {% if inline_admin_form.original %}
+          {{ inline_admin_form.original }}
+          {% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %}<a href="{% url inline_admin_form.model_admin.opts|admin_urlname:'change' inline_admin_form.original.pk|admin_urlquote %}" class="{% if inline_admin_formset.has_change_permission %}inlinechangelink{% else %}inlineviewlink{% endif %}">{% if inline_admin_formset.has_change_permission %}{% translate "Change" %}{% else %}{% translate "View" %}{% endif %}</a>{% endif %}
+          {% endif %}
+          {% if inline_admin_form.show_url %}<a href="{{ inline_admin_form.absolute_url }}">{% translate "View on site" %}</a>{% endif %}
+            </p>{% endif %}
+          {% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
+          {% if inline_admin_form.fk_field %}{{ inline_admin_form.fk_field.field }}{% endif %}
+          {% spaceless %}
+          {% for fieldset in inline_admin_form %}
+            {% for line in fieldset %}
+              {% for field in line %}
+                {% if not field.is_readonly and field.field.is_hidden %}{{ field.field }}{% endif %}
+              {% endfor %}
+            {% endfor %}
+          {% endfor %}
+          {% endspaceless %}
+        </td>
+        {% for fieldset in inline_admin_form %}
+          {% for line in fieldset %}
+            {% for field in line %}
+              {% if field.is_readonly or not field.field.is_hidden %}
+              <td{% if field.field.name %} class="field-{{ field.field.name }}"{% endif %}>
+              {% if field.is_readonly %}
+                  <p>{{ field.contents }}</p>
+              {% else %}
+                  {{ field.field.errors.as_ul }}
+                  {{ field.field }}
+              {% endif %}
+              </td>
+              {% endif %}
+            {% endfor %}
+          {% endfor %}
+        {% endfor %}
+        {% if inline_admin_formset.formset.can_delete and inline_admin_formset.has_delete_permission %}
+          <td class="delete">{% if inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }}{% endif %}</td>
+        {% endif %}
+        </tr>
+     {% endfor %}
+     </tbody>
+   </table>
+</fieldset>
+  </div>
+</div>
\ No newline at end of file