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.
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:
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 !
Super merci ca fonctionne
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!
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 ?
J’avoue que non.