diff --git a/app/but/jury_but.py b/app/but/jury_but.py
index 8c19239f91e110f6a231c0493921ccafee9687a2..1598d0c8a10b5c8467a1e3a3cc365fcfadce6936 100644
--- a/app/but/jury_but.py
+++ b/app/but/jury_but.py
@@ -64,6 +64,7 @@ import re
 
 import numpy as np
 from flask import flash, g, url_for
+import sqlalchemy as sa
 
 from app import db
 from app import log
@@ -83,6 +84,7 @@ from app.models.but_validations import (
     ApcValidationRCUE,
 )
 from app.models.etudiants import Identite
+from app.models.formations import Formation
 from app.models.formsemestre import FormSemestre
 from app.models.ues import UniteEns
 from app.models.validations import ScolarFormSemestreValidation
@@ -90,6 +92,7 @@ from app.scodoc import sco_cache
 from app.scodoc import codes_cursus as sco_codes
 from app.scodoc.codes_cursus import (
     code_rcue_validant,
+    code_ue_validant,
     BUT_CODES_ORDER,
     CODES_RCUE_VALIDES,
     CODES_UE_VALIDES,
@@ -986,6 +989,36 @@ class DecisionsProposeesAnnee(DecisionsProposees):
         pour PV jurys
         """
         validations = []
+        # Validations antérieures émises par ce formsemestre
+        for res in (self.res_impair, self.res_pair):
+            if res:
+                validations_anterieures = (
+                    ScolarFormSemestreValidation.query.filter_by(
+                        etudid=self.etud.id, formsemestre_id=res.formsemestre.id
+                    )
+                    .filter(
+                        ScolarFormSemestreValidation.semestre_id
+                        != res.formsemestre.semestre_id
+                    )
+                    .join(UniteEns)
+                    .join(Formation)
+                    .filter_by(formation_code=res.formsemestre.formation.formation_code)
+                    .order_by(
+                        sa.desc(UniteEns.semestre_idx),
+                        UniteEns.acronyme,
+                        sa.desc(ScolarFormSemestreValidation.event_date),
+                    )
+                    .all()
+                )
+                if validations_anterieures:
+                    validations.append(
+                        ", ".join(
+                            v.ue.acronyme
+                            for v in validations_anterieures
+                            if v and v.ue and code_ue_validant(v.code)
+                        )
+                    )
+        # Validations des UEs des deux semestres de l'année
         for res in (self.res_impair, self.res_pair):
             if res:
                 dec_ues = [
@@ -994,7 +1027,10 @@ class DecisionsProposeesAnnee(DecisionsProposees):
                     if ue.type == UE_STANDARD and ue.id in self.decisions_ues
                 ]
                 valids = [dec_ue.descr_validation() for dec_ue in dec_ues]
-                validations.append(", ".join(v for v in valids if v))
+                # présentation de la liste des UEs:
+                if valids:
+                    validations.append(", ".join(v for v in valids if v))
+
         return line_sep.join(validations)
 
     def descr_pb_coherence(self) -> list[str]:
diff --git a/app/but/jury_but_pv.py b/app/but/jury_but_pv.py
index c20000fb490f6b8520b628d7afab02ab2f36b785..22aca962eee6e46fb63befcfd3f10426c0634941 100644
--- a/app/but/jury_but_pv.py
+++ b/app/but/jury_but_pv.py
@@ -8,7 +8,7 @@
 """
 from flask import g, request, url_for
 
-from openpyxl.styles import Font, Border, Side, Alignment, PatternFill
+from openpyxl.styles import Alignment
 
 from app import log
 from app.but import jury_but
diff --git a/app/scodoc/sco_formsemestre_validation.py b/app/scodoc/sco_formsemestre_validation.py
index 988f0e9eaa8431aae15cd48e91b2b671af8acd7f..3b3fa3b5483320d8ff51454decd208a8373b305d 100644
--- a/app/scodoc/sco_formsemestre_validation.py
+++ b/app/scodoc/sco_formsemestre_validation.py
@@ -806,7 +806,7 @@ def formsemestre_recap_parcours_table(
             H.append(
                 f"""<td class="sem_ects_tit"><a title="crédit acquis">ECTS:</a></td>
                 <td class="sem_ects">{
-                    pv.get("sum_ects",0):2.2g} / {etud_ects_infos["ects_total"]:2.2g}
+                    pv.get("sum_ects",0):2.3g} / {etud_ects_infos["ects_total"]:2.3g}
                 </td>
                 <td class="rcp_abs"></td>
                 """
@@ -819,7 +819,7 @@ def formsemestre_recap_parcours_table(
                     ects_pot = ue_status["ects_pot"]
                     H.append(
                         f"""<td class="ue"
-                        title="{ects:2.2g}/{ects_pot:2.2g} ECTS">{ects:2.2g}</td>"""
+                        title="{ects:2.3g}/{ects_pot:2.3g} ECTS">{ects:2.3g}</td>"""
                     )
                 else:
                     H.append("""<td class="ue"></td>""")
diff --git a/sco_version.py b/sco_version.py
index 0b5fefee9d016f5f7cfbda43240be1ad1467caea..5e4aa92a9d67bfedcd304f59dd36f5315a557c81 100644
--- a/sco_version.py
+++ b/sco_version.py
@@ -1,7 +1,7 @@
 # -*- mode: python -*-
 # -*- coding: utf-8 -*-
 
-SCOVERSION = "9.6.981"
+SCOVERSION = "9.6.982"
 
 SCONAME = "ScoDoc"