TRIERPAR aleatoire

Bonjour,

J'essaie de trier de façon aléatoire (tirage au sort) les cellules de A qui ont un X en B. J'ai fait deux essais. En J3 :

=LET(tbl;ASSEMB.H(FILTRE(A:A;B:B="x");MAP(FILTRE(A:A;B:B="x");LAMBDA(x;ALEA())));TRIERPAR(tbl;PRENDRE(tbl;;2)))

La formule retourne #VALEUR!

En K3 :

=TRIERPAR(ASSEMB.H(FILTRE(A:A;B:B="x");MAP(FILTRE(A:A;B:B="x");LAMBDA(x;ALEA())));L3:L7)

Excel signale une référence circulaire. Pouvez-vous m'indiquer les erreurs ? J'ai déjà un contournement, donc inutile de m'en proposer.

Merci d'avance.

Daniel

Oups. Le classeur :

14trierpar.xlsx (11.76 Ko)

Résolu pour I3. C'était PRENDRE(tbl;;-1).

Pas résolu pour K3.

Merci.

Bonjour,

honnêtement je ne sais pas trop, les formules avec LAMBDA a débuguer c'est un enfer, j'ai l'impression qu'une grosse partie du problème vient de l'assemblage du tableau qu'on veut trier et celui qui contient des valeurs aléatoires (après c'est juste une impression).

Je préconise plutôt de séparer les deux et de faire comme ça:

=LET(_donnees;FILTRE(A1:A38;B1:B38="x";"");_alea;MAP(_donnees;LAMBDA(a;ALEA()));TRIERPAR(_donnees;_alea))

Sinon pour K3 j'ai ça qui marche:

=TRIER(ASSEMB.H(FILTRE(A:A;B:B="x");MAP(FILTRE(A:A;B:B="x");LAMBDA(x;ALEA())));2;1;FAUX)

J'utilise TRIER plutôt que TRIERPAR en indiquant que j'utilise la 2ème colonne du tableau pour effectuer mon tri.

Bonjour,
Une proposition.
Cdlt.

=LET(
tbl; FILTRE($A$1:$B$38; $B$1:$B$38 = "x");
n; LIGNES(tbl);
PRENDRE(TRIERPAR(tbl; TABLEAU.ALEA(n));;1)
)

Bonjour à tous,

Super !

@Ausecour : J'ignorais qu'on pouvait utiliser TRIER pour un tableau multi-colonnes.

@Jean-Eric : Je ne connaissais la fonction TABLEAU.ALEA.

Merci.

Re,
Merci de ce retour.
Bon dimanche ensoleillé.
Cdlt.

Rechercher des sujets similaires à "trierpar aleatoire"