diff --git a/app/but/cursus_but.py b/app/but/cursus_but.py
index ea1b956ee43d337cc3b61abbca5845df9e3e9de4..5b5b6f29c26a1f3eacef8ea0914d8df2f1e883e8 100644
--- a/app/but/cursus_but.py
+++ b/app/but/cursus_but.py
@@ -71,6 +71,7 @@ class SituationEtudCursusBUT(sco_cursus_dut.SituationEtudCursusClassic):
 class EtudCursusBUT:
     """L'état de l'étudiant dans son cursus BUT
     Liste des niveaux validés/à valider
+    (utilisé pour le résumé sur la fiche étudiant)
     """
 
     def __init__(self, etud: Identite, formation: Formation):
@@ -190,6 +191,11 @@ class EtudCursusBUT:
                 )
         return d
 
+    def competence_annee_has_niveau(self, competence_id: int, annee: str) -> bool:
+        "vrai si la compétence à un niveau dans cette annee ('BUT1') pour le parcour de cet etud"
+        # slow, utile pour affichage fiche
+        return annee in [n.annee for n in self.competences[competence_id].niveaux]
+
     def load_validation_by_niveau(self) -> dict[int, list[ApcValidationRCUE]]:
         """Cherche les validations de jury enregistrées pour chaque niveau
         Résultat: { niveau_id : [ ApcValidationRCUE ] }
diff --git a/app/static/css/cursus_but.css b/app/static/css/cursus_but.css
index e998ccda54caf0467d93062eb3d1fb8ea04970a6..83438d25072ff31bd4d37a9f62b51313d67abd00 100644
--- a/app/static/css/cursus_but.css
+++ b/app/static/css/cursus_but.css
@@ -40,6 +40,10 @@ div.code_rcue {
     position: relative;
 }
 
+div.no_niveau {
+    background-color: rgb(245, 237, 200);
+}
+
 div.code_jury {
     padding-right: 4px;
     padding-left: 4px;
diff --git a/app/templates/but/cursus_etud.j2 b/app/templates/but/cursus_etud.j2
index 4baaa96f191cc62d4ddbaecbfb141fb8939bc43e..34090aa611d981a7eba59a3ff633a79d0a2d9d0e 100644
--- a/app/templates/but/cursus_etud.j2
+++ b/app/templates/but/cursus_etud.j2
@@ -9,7 +9,8 @@
     <div class="cb_titre_competence">{{ cursus.competences[competence_id].titre }}</div>
     {% for annee in ('BUT1', 'BUT2', 'BUT3') %}
     {% set validation = cursus.validation_par_competence_et_annee.get(competence_id, {}).get(annee) %}
-    <div>
+    {% set has_niveau = cursus.competence_annee_has_niveau(competence_id, annee) %}
+    <div class="{{ '' if has_niveau else 'no_niveau' }}">
         {% if validation %}
         <div class="code_rcue with_scoplement">
             <div class="code_jury">{{validation.code}}</div>
@@ -23,7 +24,7 @@
         </div>
         {% else %}
         <div class="code_rcue">
-            <div class="code_jury">-</div>
+            <div class="code_jury">{{'-' if has_niveau else ''}}</div>
         </div>
         {%endif%}
     </div>