diff --git a/lg/members_en.txt b/lg/members_en.txt
index 84d2f38affce5880c8eaf082d95872f130c96fc6..5af1bf16c6092d692cf34aad180aa1da075c43ba 100755
--- a/lg/members_en.txt
+++ b/lg/members_en.txt
@@ -67,4 +67,5 @@ NEXT_YN Feign the following Y[n] landing
 MEMBER_FILTER search a member
 EXPIRE_TIME expiration datetime
 RANDOM_LIST Draw lots
+RANDOM_LIST_END membres (max. 100)
 MEMBERS members
\ No newline at end of file
diff --git a/lg/members_fr.txt b/lg/members_fr.txt
index 5a13228d6573952715dd1a83e33b72894b36d739..d330697c07ed4403f5bb463612b0c6967aaffcd3 100755
--- a/lg/members_fr.txt
+++ b/lg/members_fr.txt
@@ -67,4 +67,5 @@ NEXT_YN Simuler le palier Y[n] suivant
 MEMBER_FILTER rechercher un membre
 EXPIRE_TIME date et heure d'expiration
 RANDOM_LIST Tirer au sort
+RANDOM_LIST_END membres (max. 100)
 MEMBERS membres
\ No newline at end of file
diff --git a/lib/constants2.ts b/lib/constants2.ts
index 80530f207c94cd82bcc138b4b859b3efb393b4af..32ddf69e2e45554303807dadf8a81821a2c45f31 100755
--- a/lib/constants2.ts
+++ b/lib/constants2.ts
@@ -13,5 +13,9 @@ export const MonitConstants = {
     INIT: 2,
     GET_SENTRIES_COUNT: 3,
     GET_D_SEN: 3
-  }
+  },
+  MEMBERS_VIEW: {
+    DEFAULT_MEMBERS_RANDOM_NUMBER: 10,
+    MEMBERS_DISPLAY_MAX: 100,
+  },
 };
diff --git a/routes/members2.ts b/routes/members2.ts
index aa761d5a556d0584001ba5bb87149b754452c3e3..6bb77864db7947fbacb5b7f89e923df361dfa646 100755
--- a/routes/members2.ts
+++ b/routes/members2.ts
@@ -70,8 +70,17 @@ module.exports = async (req: any, res: any, next: any) => {
 	var centrality = req.query.centrality || "no"; // Valeur par défaut
 	var format = req.query.format || 'HTML'; // Valeur par défaut
 	let nextYn = (req.query.nextYn=="yes") ? "yes":"no";
-	let randomList = (req.query.randomList=="yes") ? "yes":"no";
-	let numberOfRandomMembers = req.query.randomCounts || 10
+	let randomList = req.query.randomList === 'no' ? 'no' : 'yes';
+	let numberOfRandomMembers = parseInt(req.query.randomCounts) || MonitConstants.MEMBERS_VIEW.DEFAULT_MEMBERS_RANDOM_NUMBER
+
+		// Recherche aléatoire
+		if (randomList === 'yes') {
+			if (isNaN(numberOfRandomMembers)) {
+				numberOfRandomMembers = MonitConstants.MEMBERS_VIEW.DEFAULT_MEMBERS_RANDOM_NUMBER
+			}
+			numberOfRandomMembers = Math.min(numberOfRandomMembers, MonitConstants.MEMBERS_VIEW.MEMBERS_DISPLAY_MAX)
+		}
+
 
 	// Vérifier la valeur de nextYn dans le cache
 	let lastUpgradeTimeDatas = membersQuality(MonitConstants.QUALITY_CACHE_ACTION.INIT);
diff --git a/views/members.html b/views/members.html
index 462045c5c590858926962919ed65c154f8b0655a..a3dbb9055db3879bc91e1a56b4dc2908f36a0928 100755
--- a/views/members.html
+++ b/views/members.html
@@ -47,8 +47,8 @@ ${printMenu(MENU_LANG, help, "MEMBERS")}
 <input type="checkbox" name="pendingSigs" value="yes" ${pendingSigs == 'yes' ? 'checked' : ''}>${LANG["CHECKBOX_PENDING_SIGS"]}.<br>
 <input type="checkbox" name="mode" value="emitted" ${mode == 'emitted' ? 'checked' : ''}>${LANG["CHECKBOX_MODE_SIG"]}.<br>
 <input type="checkbox" name="nextYn" value="yes" ${nextYn == 'yes' ? 'checked' : ''}> ${LANG["NEXT_YN"]}<br>
-<input type="checkbox" name="randomList" value="yes" ${randomList == 'yes' ? 'checked' : ''}> ${LANG["RANDOM_LIST"]} 
-<input type="number" name="randomCounts" value="${numberOfRandomMembers}"/> ${LANG["MEMBERS"]}.<br>
+<input type="checkbox" name="randomList" value="yes" ${randomList == 'yes' ? 'checked' : ''}> ${LANG["RANDOM_LIST"]}
+<input type="number" name="randomCounts" value="${numberOfRandomMembers}"/> ${LANG["RANDOM_LIST_END"]}.<br>
 <hr>
 
 <!-- Afficher la légende et l'aide -->