Découvrez comment mélanger aléatoirement une liste dans Excel (en moins d’une seconde !)

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Dans ce tutoriel, je vais vous montrer comment mélanger aléatoirement les éléments d'une liste dans Excel de manière simple et efficace.

Cela s'avère particulièrement utile lorsque nous devons organiser un tirage au sort équitable, mélanger l'ordre de présentation lors d'une réunion, ou encore créer des groupes de travail de façon aléatoire.

Nous découvrirons ensemble plusieurs méthodes, de la plus basique à la plus avancée, avec des astuces qui vous feront gagner un temps précieux dans vos projets quotidiens.

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

1. Présentation

Pour illustrer ce tutoriel, nous allons pouvoir utiliser le tableau suivant dans lequel est répertorié la liste des équipes de football amateur participant à un tournoi local.

Excel formation - 0057-triAleatoire - 01

Notre objectif sera de mélanger aléatoirement l'ordre de ces équipes pour créer un calendrier de matchs équitable.

 

2. Méthode de base : Mélange simple avec la fonction ALEA

 

   2.1. Création de la colonne de nombres aléatoires

 

Nous allons commencer par découvrir une technique qui repose sur la génération de nombres aléatoires que nous associerons à chaque ligne de notre tableau.

Nous nous positionnons juste à droite du tableau, dans la cellule E6 et nous saisissons l'en-tête « Aléatoire ».

Excel formation - 0057-triAleatoire - 02

Cette colonne servira à contenir les nombres aléatoires qui détermineront le nouvel ordre de nos équipes.

Nous appuyons sur [Entrée] pour valider et nous nous déplaçons dans la cellule E7, afin de saisir la formule « =ALEA() ».

Cette fonction Excel génère automatiquement un nombre décimal compris entre 0 et 1, de façon totalement aléatoire.

Ensuite, nous pouvons étendre la formule sur toutes les cellules de la colonne en double cliquant sur la poignée de recopie

Excel formation - 0057-triAleatoire - 03

Chaque fois que nous actualisons la feuille ou que nous effectuons une modification, cette fonction recalcule un nouveau nombre, garantissant ainsi le caractère aléatoire de notre mélange.

Ce nombre change à chaque modification de la feuille, ce qui constitue à la fois un avantage et un inconvénient que nous verrons comment gérer par la suite.

Excel formation - 0057-triAleatoire - 04

Nous observons maintenant une colonne E remplie de nombres décimaux uniques, chacun correspondant à une équipe spécifique.

 

   2.2. Tri du tableau par les nombres aléatoires

 

Nous arrivons maintenant à l'étape du tri proprement dit.

Nous sélectionnons l'ensemble de notre tableau, depuis la cellule A6 jusqu'à la cellule E22.

Puis, nous nous rendons dans l'onglet « Données » du ruban Excel et nous cliquons sur le bouton « Trier ».

Une boîte de dialogue s'ouvre, nous permettant de configurer notre tri.

Dans la liste déroulante « Trier par », nous sélectionnons « Aléatoire », qui correspond à notre colonne E.

Excel formation - 0057-triAleatoire - 05

Nous nous assurons que l'option « Mes données ont des en-têtes » est bien cochée, ce qui évite qu'Excel mélange nos titres de colonnes avec le reste des données.

Nous laissons l'ordre sur « Croissant » et nous cliquons sur le bouton « OK ».

Excel formation - 0057-triAleatoire - 06

Excel réorganise toutes les lignes de notre tableau en fonction des nombres aléatoires de la colonne E.

Les équipes se retrouvent maintenant dans un ordre complètement différent, mélangées de façon aléatoire tout en conservant l'intégrité de chaque ligne de données.

 

   2.3. Figer les valeurs aléatoires pour un mélange permanent

 

La fonction ALEA() que nous venons d’utiliser est ce qu'on appelle une fonction « volatile ».

Cela signifie qu'elle se recalcule automatiquement à chaque modification apportée à la feuille Excel.

Si nous saisissons une nouvelle donnée ailleurs dans la feuille, tous nos nombres aléatoires changent instantanément.

Si nous souhaitons interrompre cette volatilité une fois que nous avons obtenu le mélange désiré, nous devons « figer » nos nombres aléatoires en les transformant en valeurs statiques.

Cette opération garantit que notre ordre aléatoire reste définitivement fixé, même si nous effectuons d'autres modifications dans notre classeur.

Et pour cela, nous commençons par sélectionner toute notre colonne de nombres aléatoires, de E7 à E22, puis nous les copions avec [Ctrl]+[C].

Sans changer notre sélection, nous effectuons un clic droit et nous choisissons « Collage spécial » sous la forme de « Valeur » dans le menu contextuel :

Excel formation - 0057-triAleatoire - 07

Excel remplace instantanément toutes nos formules =ALEA() par les valeurs numériques qu'elles contenaient au moment du collage.

Cette manipulation nous assure que notre ordre aléatoire ne changera plus tout en permettant de conserver cette colonne comme « témoin » de notre processus de mélange, notamment si nous devons justifier que le mélange a bien été effectué de manière aléatoire. Cette traçabilité peut s'avérer utile dans certains contextes professionnels ou officiels.

Si cela n’est pas nécessaire, nous pouvons également supprimer la colonne D des nombres aléatoires, puisque son rôle est terminé.

Nous cliquons sur l'en-tête de colonne D pour la sélectionner entièrement, puis nous effectuons un clic droit et nous choisisons « Supprimer » :

Excel formation - 0057-triAleatoire - 08

 

Notre tableau conserve son ordre mélangé mais retrouve sa présentation originale.

 

   3. Mélange conditionnel par catégorie

 

Parfois, nous souhaitons mélanger notre liste tout en respectant certaines contraintes.

Par exemple, nous pourrions vouloir que les équipes se rencontrent en fonction de leur poule, plutôt que d'avoir toutes les équipes regroupées ensemble par hasard.

Pour cela, nous créons une approche plus sophistiquée.

Nous allons simplement inclure la poule de chaque équipe directement dans la formule de tri pour créer une « Tri intelligent ».

Dans la cellule E7, nous saisissons la formule suivante :

 =D7&ALEA() 

Cette formule concatène la poule et un nombre aléatoire.

Ensuite, nous pouvons étendre la formule sur toute la colonne puis appliquer un tri, comme nous l’avons fait un peu plus tôt :

Excel formation - 0057-triAleatoire - 09

Maintenant, Excel trie d'abord par la partie texte (la poule), puis par la partie numérique aléatoire.

Nous obtenons ainsi un mélange aléatoire à l'intérieur de chaque poule.

 

   4. Automatisation avec une macro VBA

 

Maintenant, pour appliquer un tri aléatoire encore plus rapidement, nous pouvons automatiser tout ce processus avec une macro VBA simple.

Le VBA, pour Visual Basic for Applications, est un langage de programmation créé par Microsoft et intégré à toute la suite Office conçu pour interagir avec les applications comme Excel, Word ou Access.

Celui-ci permet en effet d'ajouter de nombreuses fonctionnalités dans Excel qui vont bien au-delà des capacités standards du tableur.

Ici, nous allons passer assez rapidement sur les principes fondamentaux du VBA car notre objectif est de mettre en place rapidement notre macro, mais si vous souhaitez en savoir plus, et découvrir comment maîtriser ce langage puissant pour développer vos propres solutions sur mesure dans Excel, vous pouvez découvrir mon livre « Apprendre le VBA pour les grands débutants » en cliquant ici.

Ce guide vous accompagne pas à pas dans l'apprentissage du VBA, depuis les concepts de base jusqu'aux techniques avancées, avec de nombreux exemples pratiques et exercices pour consolider vos connaissances.

Pour accéder à l'éditeur VBA, nous utilisons le raccourci clavier [Alt]+[F11]. Une nouvelle fenêtre s'ouvre, c'est l'environnement de développement VBA.

Nous insérons un nouveau module via Insertion > Module.

Un module est une feuille de saisie dans laquelle nous saisissons le code de la macro.

Pour commencer, nous allons créer une nouvelle macro que nous appelerons « MelangerListe » en saisissant la ligne :

Sub MelangerListe()

Cette ligne marque le début de notre procédure VBA.

Le mot-clé « Sub » indique qu'il s'agit d'une sous-routine (une macro) et le nom « MelangerListe » sera celui qui apparaîtra dans la liste des macros disponibles dans Excel.

Dans cette macro, nous allons commencer par déclarer une variable nommée « plage » que nous allons typer en tant que Range, c'est-à-dire un objet qui représente une plage de cellules dans Excel :

Dim plage As Range

Cette déclaration nous permet de manipuler facilement une zone de cellules.

Ensuite, nous allons affecter à notre variable « plage » la région courante autour de la cellule active, c'est-à-dire l'ensemble des données contigües qui entourent la cellule sélectionnée :

Set plage = ActiveCell.CurrentRegion

La propriété « CurrentRegion » est très pratique car elle détecte automatiquement les limites de notre tableau de données.

Elle s'étend jusqu'aux cellules vides qui entourent nos données, nous évitant ainsi de définir manuellement la plage des cellules du tableau.

Cette approche rend notre macro universelle, fonctionnant avec des tableaux de tailles différentes.

Maintenant, nous devons élargir notre plage pour inclure une colonne supplémentaire qui contiendra nos nombres aléatoires.

Nous redéfinissons notre variable « plage » en ajoutant une colonne à droite :

Set plage = plage.Resize(plage.Rows.Count,  plage.Columns.Count + 1)

La méthode « Resize » nous permet de modifier les dimensions de notre plage.

Nous conservons le même nombre de lignes avec « plage.Rows.Count », mais nous ajoutons une colonne avec « plage.Columns.Count + 1 ».

Nous allons maintenant remplir cette nouvelle colonne avec des nombres aléatoires en utilisant la fonction RAND() (équivalent anglais de ALEA(), car VBA parle anglais contrairement à Excel) :

plage.Columns(plage.Columns.Count).Formula =  "=RAND()"

Nous arrivons maintenant à l'étape cruciale : le tri de notre tableau selon les nombres aléatoires que nous venons de générer :

plage.Sort Key1:=plage.Columns(plage.Columns.Count),  Order1:=xlAscending, Header:=xlYes

La méthode « Sort » effectue le tri avec plusieurs paramètres :

  • « Key1 » spécifie la colonne de tri principal (notre colonne de nombres aléatoires)
  • « Order1:=xlAscending » indique un tri croissant (du plus petit au plus grand nombre)
  • « Header:=xlYes » précise que la première ligne contient des en-têtes à ne pas inclure dans le tri

Cette ligne réorganise complètement notre tableau selon l'ordre des nombres aléatoires, mélangeant ainsi nos équipes de façon aléatoire.

Enfin, nous nettoyons notre travail en supprimant la colonne temporaire de nombres aléatoires qui n'a plus d'utilité :

plage.Columns(plage.Columns.Count).Delete

Notre tableau retrouve ainsi son aspect original, mais avec les lignes mélangées dans un ordre aléatoire.

Pour tester cette macro, il ne reste plus qu’à revenir sur la feuille de calcul et afficher la fenêtre de sélection des macros en utilisant le raccourci [Alt]+[F8], afin de sélectionner la macro « MelangerListe », puis d’appuyer sur « Exécuter ».

À chaque fois que nous appelons la macro « MelangerListe » en utilisant cette technique, la liste va se mélanger à nouveau.



Articles qui pourraient vous intéresser

Découvrez comment mélanger aléatoirement une liste dans Excel (en moins d’une seconde !)
Les 10 erreurs FATALES qui détruisent vos données sur Excel (et comment les éviter)
Mot de passe oublié ? Découvrez comment supprimer les protections Excel (et la protection ultime)
RÉVOLUTION EXCEL 2025 : Comment analyser vos données 10 fois plus vite grâce à Python !
Les 7 erreurs qui ruinent vos graphiques Excel (et comment les éviter)
Comment protéger automatiquement les cellules Excel après la saisie
Comment créer un graphique dynamique avec des flèches d'écart sur Excel
Comment une table de visualisation dynamique pour prendre des décisions avec Excel
Transformez vos tableaux en outils interactifs avec les cases à cocher d’Excel
La technique secrète des pros d'Excel pour créer des graphiques interactifs époustouflants !
Transformez vos recettes en un tableau magique grâce à Flash Fill d’Excel !
Comment automatiser le suivi des résultats scolaires avec Excel (sans VBA !)

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2025 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.