Sélection aléatoire sans remise ?

piesstou

XLDnaute Nouveau
Bonjour,

J'ai quelques notions Excel mais malheureusement aucune en vba et ce que je souhaite faire me pose problème.
Je suis bien parvenu à bricoler quelque chose, mais ça ne me donne pas satisfaction car il reste quelques erreurs et surtout il y a "remise" :(
Voilà le topo rapide :

Phase 1 :
J'ai une liste de 19 "Objets n°1" sur une feuille nommée "LISTE_DES_OBJETS".
Je souhaite afficher une sélection aléatoire sans remise de 7 de ces 19 objets dans un tableau de la feuille 1 nommée "Création_Liste_Objets"

Phase 2 :
Je souhaite refaire la même manipulation à partir de 11 "Objets n°2" (toujours sur la feuille "LISTE_DES_OBJETS" mais situés sur une autre plage, pour en afficher cette fois-ci 2, à la suite du tableau de la feuille 1 (toujours sans remise)

Phase 3 :
Après le tirage précédent j'aimerais ajouter la possibilité de tirer parmi un 12ème Objet ajouté aux "Objets n°2" restants. Et effectuer 3 tirages, toujours sans remise dont les résultats iront sur la feuille 1 "LISTE_DES_OBJETS" à la suite des 9 autres lignes.

Phase finale :
Créer une Macro pour lancer la sélection complète et l'attribuer à un bouton à placer sur la 1ère Feuille.

J'ai essayé avec cette formule là mais ça n'est pas suffisant car il y a possibilité de se retrouver avec des doublons :(
Code:
=INDEX(Liste_des_Objets!$B$1:$B$19;19*ALEA();1)

Si quelqu'un pouvait m'aider ce serait sympa.
Merci beaucoup d'avance.

++
 
Dernière édition:

piesstou

XLDnaute Nouveau
Re : Sélection aléatoire sans remise ?

Je crois que j'ai trouvé ce que je voulais en continuant mes recherches :
Code:
=INDEX(Liste_des_Objets!$B$20:$B$31;RANG(Liste_des_Objets!$C25;Liste_des_Objets!$C$20:$C$31))

En passant par la colonne C dans laquelle j'utilise simplement une génération aléatoire de valeur :
Code:
=ALEA()

Apparemment ça fonctionne bien !
Je verrai peut-être des bugs par la suite
 

Discussions similaires

Statistiques des forums

Discussions
312 287
Messages
2 086 829
Membres
103 397
dernier inscrit
Kilement