Tri des données en Excel

Trier aléatoirement une liste

Cette question m’est venue via Twitter, sur mon compte @ExcelPlus, par un autre utilisateur qui se demandait comment, après un tri croissant ou décroissant, on pouvait à nouveau trier de manière aléatoire une liste. Bien sûr, il n’est pas question ici de simplement annuler la dernière action, considérant que le fichier avait été enregistré et retourné sous cette forme non souhaitée.

Si vous cherchez dans les options de tri, vous ne trouverez pas cette option. De manière exhaustive, vous verrez la possibilité de trier en croissant, décroissant ou selon une liste personnalisée.

 

Tri

 

La solution que je préconise donc pour ce genre de chose est d’utiliser les formules dans une colonne supplémentaire. Si vous cherchez dans les fonctions, vous trouverez qu’il existe deux formules qui génèrent des nombres aléatoires: ALEA et ALEA.ENTRE.BORNES

La première vous donnera un nombre aléatoire compris entre 0 et 1 si vous entrez dans une cellule =ALEA(). L’avantage de cette formule est que le nombre généré a la précision de 15 chiffres après la virgule. Ce qui signifie qu’il n’y a pratiquement aucune chance que deux lignes aient la même valeur.

La seconde, vous permettra d’afficher un nombre aléatoire dans des limites que vous aurez vous-même fixées (par exemple, de 1 à 10).

Dans notre exemple, nous avons rajouté une colonne, et dans cette colonne, ajoutons la formule =ALEA.ENTRE.BORNES(1;10)

Nous obtenons le résultat suivant:

 

Alea-entre-bornes

 

Il devient alors très simple de refaire un tri sur la colonne ajoutée (en sens croissant ou décroissant, peu importe). La génération des nombres aléatoires servira alors à mélanger complètement la liste, sans aucune règle particulière.

Bons tris !



4 réflexions sur “Trier aléatoirement une liste”

  1. Vous pouvez ajouter une colonne et vous y inscrivez =alea()
    Cette formule vous renvoie un nombre compris entre 0 et 1 (exemple 0,48537)
    Copiez cette formule à toutes lignes que vous voulez trier en ordre aléatoire.
    Ensuite, vous sélectionner les deux colonnes et par la fonction tri de Excel, vous faite trier par la colonne du nombre aléatoire de la formule précédente.
    Et voilà!
    À chaque tri suivant, les nombres seront renouvelés.
    Bonne chance!

  2. Bonjour,
    Même si cette piste vient effectivement à l’esprit, çà ne peut pas fonctionner pour un tri dans le sens où la même valeur peut sortir plusieurs fois.
    Vous avez trouvé autre chose depuis sans entrer dans la programmation VB ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.