diff --git a/app/but/jury_but.py b/app/but/jury_but.py
index bf0e75eb196d16756ab4c52a7140010d63c67d8f..37db1b5dfcaf7cb7c2b93f6ffa8575cf2a239f22 100644
--- a/app/but/jury_but.py
+++ b/app/but/jury_but.py
@@ -1049,8 +1049,8 @@ class DecisionsProposeesRCUE(DecisionsProposees):
                 for ue_id in (self.rcue.ue_1.id, self.rcue.ue_2.id):
                     dec_ue = deca.decisions_ues.get(ue_id)
                     if dec_ue and dec_ue.code_valide not in CODES_UE_VALIDES:
-                        log(f"rcue.record: force ADJ sur {dec_ue}")
-                        dec_ue.record("ADJ")
+                        log(f"rcue.record: force ADJR sur {dec_ue}")
+                        dec_ue.record("ADJR")
 
         if self.rcue.formsemestre_1 is not None:
             sco_cache.invalidate_formsemestre(
@@ -1100,7 +1100,7 @@ class DecisionsProposeesUE(DecisionsProposees):
     sinon si compensation dans RCUE: CMP
     sinon: ADJ, AJ
 
-    et proposer toujours: RAT, DEF, ABAN, DEM, UEBSL (codes_communs)
+    et proposer toujours: RAT, DEF, ABAN, ADJR, DEM, UEBSL (codes_communs)
     """
 
     # Codes toujours proposés sauf si include_communs est faux:
@@ -1108,6 +1108,7 @@ class DecisionsProposeesUE(DecisionsProposees):
         sco_codes.RAT,
         sco_codes.DEF,
         sco_codes.ABAN,
+        sco_codes.ADJR,
         sco_codes.ATJ,
         sco_codes.DEM,
         sco_codes.UEBSL,
diff --git a/app/models/config.py b/app/models/config.py
index 1b31eb120ffa230bcc25e6d605ad21938f4fbe49..6872c6cdf90f081bb9fc00e4c7f127b240e5377b 100644
--- a/app/models/config.py
+++ b/app/models/config.py
@@ -13,6 +13,7 @@ from app.scodoc.sco_codes_parcours import (
     ABL,
     ADC,
     ADJ,
+    ADJR,
     ADM,
     AJ,
     ATB,
@@ -34,6 +35,7 @@ CODES_SCODOC_TO_APO = {
     ABL: "ABL",
     ADC: "ADMC",
     ADJ: "ADM",
+    ADJR: "ADM",
     ADM: "ADM",
     AJ: "AJ",
     ATB: "AJAC",
diff --git a/app/scodoc/sco_codes_parcours.py b/app/scodoc/sco_codes_parcours.py
index 7d90edbcb173f1ff15a9d8079f7fb91f47780419..21b2b0c87bd53358d41d55df01f5a2265c7eb0c1 100644
--- a/app/scodoc/sco_codes_parcours.py
+++ b/app/scodoc/sco_codes_parcours.py
@@ -122,6 +122,7 @@ ABL = "ABL"
 ADM = "ADM"  # moyenne gen., barres UE, assiduité: sem. validé
 ADC = "ADC"  # admis par compensation (eg moy(S1, S2) > 10)
 ADJ = "ADJ"  # admis par le jury
+ADJR = "ADJR"  # UE admise car son RCUE est ADJ
 ATT = "ATT"  #
 ATJ = "ATJ"  # pb assiduité: décision repoussée au semestre suivant
 ATB = "ATB"
@@ -158,6 +159,7 @@ CODES_EXPL = {
     ABL: "Année blanche",
     ADC: "Validé par compensation",
     ADJ: "Validé par le Jury",
+    ADJR: "UE validée car son RCUE est validé ADJ par le jury",
     ADM: "Validé",
     AJ: "Ajourné (ou UE/BC de BUT en attente pour problème de moyenne)",
     ATB: "Décision en attente d'un autre semestre (au moins une UE sous la barre)",
@@ -190,7 +192,7 @@ CODES_SEM_ATTENTES = {ATT: True, ATB: True, ATJ: True}  # semestre en attente
 
 CODES_SEM_REO = {NAR: 1}  # reorientation
 
-CODES_UE_VALIDES = {ADM: True, CMP: True, ADJ: True}  # UE validée
+CODES_UE_VALIDES = {ADM: True, CMP: True, ADJ: True, ADJR: True}  # UE validée
 CODES_RCUE_VALIDES = CODES_UE_VALIDES  # Niveau RCUE validé
 # Pour le BUT:
 CODES_ANNEE_ARRET = {DEF, DEM, ABAN, ABL}
@@ -208,16 +210,17 @@ BUT_CODES_PASSAGE = {
 # les codes, du plus "défavorable" à l'étudiant au plus favorable:
 # (valeur par défaut 0)
 BUT_CODES_ORDERED = {
-    "NAR": 0,
-    "DEF": 0,
-    "AJ": 10,
-    "ATJ": 20,
-    "CMP": 50,
-    "ADC": 50,
-    "PASD": 50,
-    "PAS1NCI": 60,
-    "ADJ": 100,
-    "ADM": 100,
+    NAR: 0,
+    DEF: 0,
+    AJ: 10,
+    ATJ: 20,
+    CMP: 50,
+    ADC: 50,
+    PASD: 50,
+    PAS1NCI: 60,
+    ADJR: 90,
+    ADJ: 100,
+    ADM: 100,
 }
 
 
diff --git a/app/static/js/jury_but.js b/app/static/js/jury_but.js
index b016f110cca407499aa704308e286c561441e4de..7c881c445098b2a4fb1bb928888e1e3a6243dbed 100644
--- a/app/static/js/jury_but.js
+++ b/app/static/js/jury_but.js
@@ -18,7 +18,7 @@ function change_menu_code(elt) {
     } else {
         elt.parentElement.parentElement.classList.remove("recorded");
     }
-    // Si RCUE passant en ADJ, change les menus des UEs associées
+    // Si RCUE passant en ADJ, change les menus des UEs associées ADJR
     if (elt.classList.contains("code_rcue")
         && elt.dataset.niveau_id
         && elt.value == "ADJ"
@@ -26,7 +26,7 @@ function change_menu_code(elt) {
         let ue_selects = elt.parentElement.parentElement.parentElement.querySelectorAll(
             "select.ue_rcue_" + elt.dataset.niveau_id);
         ue_selects.forEach(select => {
-            select.value = "ADJ";
+            select.value = "ADJR";
             change_menu_code(select); // pour changer les styles
         });
     }
diff --git a/app/templates/but/documentation_codes_jury.html b/app/templates/but/documentation_codes_jury.html
index bde91be3b2e662be11263e0a4a1dc40899a2447e..cc4c7e179a37fb5da98207651a273d0fe301281b 100644
--- a/app/templates/but/documentation_codes_jury.html
+++ b/app/templates/but/documentation_codes_jury.html
@@ -189,6 +189,12 @@
                 <td class="amue"></td>
                 <td>Acquis par décision de jury (ECTS acquis)</td>
             </tr>
+            <tr>
+                <td>ADJR</td>
+                <td>{{codes["ADJR"]}}</td>
+                <td class="amue"></td>
+                <td>Acquis par décision de jury sur le RCUE (ECTS acquis)</td>
+            </tr>
             <tr>
                 <td>AJ</td>
                 <td>{{codes["AJ"]}}</td>
diff --git a/misc/sco_archive_exemple.py b/misc/sco_archive_exemple.py
index 38f35e1064283425f316d0d3c3ee1602197fb52b..12184c7caf4f9f2fc792ec6f391eea052221bf53 100644
--- a/misc/sco_archive_exemple.py
+++ b/misc/sco_archive_exemple.py
@@ -1,5 +1,4 @@
 # -*- coding: utf-8 -*-
-# -*- coding: utf-8 -*-
 
 ##############################################################################
 #