Combinaisons d'ensemble mes neurones fument help

Bonjour,

Le problème est le suivant : je croise des ensembles (intersection suite a une recherche par mot clé) dont le nom de chacun est 1, 2, 3 …9 (en fonction du nombre de mots).
Jusque là, j’ai pu faire une méthode qui me donne toutes les possibilités UNIQUE:
exemple sur 9 mots :
combinaison de 2 Mots ; 1-2 ; 1-3; 1-4; …8-9
x 3 mots : 12-3; 12-4; 12-5; 12-9; 13-4; … 78-9
X 4 mots : 123-4; 123-5; 123-6; 123-9;…124-5; 124-6;…678-9
X 5 mots, 6, 7, 8 et 9, tout est ok dans un tableau 2D.

Ma méthode ne marche plus lorsque j’arrive a la dizaine ou la dépasse … et mes neurones fument sans avancer (faut dire que j’ai moyen la tête sur ce sujet), depuis 2 jours je patauge.

ma méthode :
<code 4D>
q:=“la dernière musique de film de johnny hallyday cette année”

$NBR_mots:=9 //======= le tableau 2D <>nom_couple n’est plus cohérent si je met cette valeur à 10 ou plus!

$t1:=Nombre de millisecondes
$traitement:=Faux
$fin:=Faux
$couple_nbr_mot:=0
$numdepart:=0
$numencours:=1
$dernier_chiffre:=0
$Nom:=""
$longueur_NBR_mots:=longueur(chaine($NBR_mots))-1
TABLEAU TEXTE(<>nom_couple;0)
TABLEAU TEXTE(<>nom_couple;$NBR_mots;0)

Boucle ($i;1;1)
Repeter
$dernier_chiffre:=$dernier_chiffre+1
AJOUTER À TABLEAU(<>nom_couple{$i};chaine($dernier_chiffre))
jusque($dernier_chiffre=$NBR_mots)
Fin de boucle

$dernier_chiffre:=1
$nombre_precedent:=0
$element_tab_preced:=0
$nom_precedent:=""
Boucle ($i;2;$NBR_mots)
$taille_tabl_precedent:=Taille tableau(<>nom_couple{$i-1})
$element_tab_preced:=0
Repeter
$element_tab_preced:=$element_tab_preced+1
si($element_tab_preced<$taille_tabl_precedent)
repeter
Si ($dernier_chiffre<$NBR_mots)
//on passe au suivant
$dernier_chiffre:=$dernier_chiffre+1
//le nom est le tableau precedent + $dernier_chiffre
$Nom:=<>nom_couple{$i-1}{$element_tab_preced}+Chaîne($dernier_chiffre)
AJOUTER À TABLEAU(<>nom_couple{$i};$Nom)
Sinon
$dernier_chiffre:=$dernier_chiffre+1
Fin de si
Jusque ($dernier_chiffre>=$NBR_mots)
$nom_precedent:=<>nom_couple{$i-1}{$element_tab_preced+1}
$dernier_chiffre:=Num(Sous chaîne($nom_precedent;Longueur($nom_precedent)-$longueur_NBR_mots))
Sinon
$nom_precedent:=<>nom_couple{$i}{1}
$dernier_chiffre:=Num(Sous chaîne($nom_precedent;Longueur($nom_precedent)-$longueur_NBR_mots))

	fin de si
Jusque ($element_tab_preced=$taille_tabl_precedent)

Fin de boucle

$t2:=Nombre de millisecondes-$t1 // envi 10 millisecondes
ALERTE(Chaîne($t2))
// TODO : rassembler les fiches par pro
// TODO : presenter les résulat

</code 4D>
Quelqu’un a une idée plus claire pour que le tableau 2D soit cohérent lorsque l’on dépasse les 9 mots (10 mots et plus => ? Merci d’avance