XL 2021 Automatisation de la randomisation des cellules d'une colonne

MATLEA

XLDnaute Nouveau
Bonjour à tous,

Dans le fichier matlea3 joint j'ai créé le tableau 1 avec des cellules C6 à C11 des patronymes. Mon but est de les reclasser de manière aléatoire. Manuellement (tableau 2) je rentre dans la cellule D17 =alea() ce qui me donne une valeur numérique. Dans le tableau 3 j'ai incrémenté sur les 6 cellules en descendant le point vert à partir du coin gauche de la cellule D17. Dans le tableau 4 j'ai randomisé en sélectionnant ensemble les cellules C et D 41 à 46 puis en cliquant sur données, trier puis colonne D dans trier par puis OK ce qui me donne le résultat visible dans le tableau 4. J'ai fait un tableau 5 en sélectionnant et copiant uniquement les cellules C50 à C57.
Ma question est de savoir s'il serait possible à partir d'un tableau 1 d'automatiser les différentes étapes pour arriver automatiquement aux résultats du tableau 4 et même 5.

Merci d'avance.

Matlea
 

Pièces jointes

  • matlea3.xlsx
    9.8 KB · Affichages: 5

Dranreb

XLDnaute Barbatruc
Bonjour.
Vous parlez d'automatisation. Cela implique une macro VBA.
Mais dans ce cas il est inutile d'utiliser la fonction ALEAT d'Excel dans des formules, la fonction Rnd de VBA faisant l'affaire pour peu qu'une instruction Randomize ait été exécutée soit de façon à déterminer délibérément du début une certaine série bien précise soit au contraire d'en assurer une originale. Le tri aussi est inutile, le Mélange de Fisher-Yates faisant l'affaire.
La fonction perso Hasard de ces classeurs peut reproduire un nom de rang aléatoire dépendant d'une graine et du numéro de ligne.
 

Pièces jointes

  • ListeAléat.xlsm
    566.4 KB · Affichages: 1
  • ListeAléatMATLEA.xlsm
    33.1 KB · Affichages: 2

MATLEA

XLDnaute Nouveau
Merci DRANREB

Votre solution semble très efficace mais j'ai du mal à l'appliquer à ma problématique;
Dois-je saisir graine et dans quelle cellule? Dans votre tableau dans la cellule E3 il y a jeudi et une horloge mais E2et E3 semblent liées. Puis dans chacune des cellules du tableau 2 on trouve la formule suivante =@INDEX(C$5:C$10;@Hasard(LIGNE()-14;LIGNES(C$5:C$10);$E$3))
MAIS
dans D8 on lit une formule commençant par une flèche ="⟵ =INDEX(C$5:C$10;Hasard("&LIGNE()-14&";"&LIGNES(C$5:C$10)&";"&$E$3&"))"
c'est incrémenté dans D9, D10 etc
Mais ce qu'on lit dans le tableau au niveau de la ligne D9 ne correspond pas. Idem pour D10, D11, D12 etc
J'ai vraiment besoin de votre aide de façon pratique pour appliquer vos solutions à mes problématiques.

MERCI
 

Discussions similaires

Réponses
3
Affichages
306

Statistiques des forums

Discussions
315 053
Messages
2 115 762
Membres
112 572
dernier inscrit
ASDDB