Effectuer un tri aléatoire est un moyen rapide et facile de vous assurer que tous les cas se présentent avec une probabilité égale. Dans ce didacticiel, nous expliquerons comment randomiser facilement ou mélanger une liste dans Excel en quelques étapes.
Dans cette section, je vais vous apprendre à mélanger une liste avec les fonctions Excel intégrées.
Les utilisateurs de n'importe quelle version d'Excel peuvent trier au hasard leur ensemble de données d'origine en utilisant le RAND fonctionner à l'aide de Sort fonctionnalité, veuillez suivre les étapes ci-dessous.
Étape 1 : Entrez la formule RAND
Sélectionnez la cellule à côté de la cellule supérieure de la liste que vous allez randomiser, saisissez la formule RAND ci-dessous et appuyez sur Entrer.
=RAND()
Étape 2 : Remplir la formule RAND dans d'autres cellules
Double-cliquez sur la poignée de remplissage (le petit carré vert dans le coin inférieur droit) de la cellule de formule pour appliquer la formule aux cellules ci-dessous.
Étape 3 : Trier les résultats RAND pour mélanger la liste
1 Sélectionner B2: B8, la liste qui contient la formule RAND.
2. Cliquez sur Trier et filtrer > Trier du plus petit au plus grand dans le POSTPRODUCTION groupe sur le Accueil languette.
3. Dans la fenêtre contextuelle Avertissement de tri dialogue, sélectionnez Élargir la sélection, puis cliquez sur Sort.
Résultat
Maintenant, vous êtes prêt ! La liste est randomisée comme indiqué ci-dessous.
Si vous utilisez des versions plus récentes d'Excel, par exemple, Excel pour Microsoft 365 ou Excel 2021, ou Excel pour le Web, le RANDARRAY, TRIER PAR et RANGS La formule vous aidera à obtenir rapidement une liste mélangée à la position que vous avez spécifiée.
Étape 1 : Entrez la formule RANDARRAY, SORTBY et ROWS
Sélectionnez une cellule vide dans laquelle vous souhaitez obtenir le résultat aléatoire, tapez la formule ci-dessous (notez que vous devez modifier A2: A8 dans la formule ci-dessous à la liste d'origine que vous souhaitez randomiser) et appuyez sur Entrer.
=SORTBY(A2:A8,RANDARRAY(ROWS(A2:A8)))
(Facultatif) Étape 2 : Copiez et collez le résultat de la formule pour le rendre modifiable
Si vous ne voulez voir qu'un résultat aléatoire, vous pouvez sauter cette étape. Si vous souhaitez modifier la liste mélangée de manière aléatoire, vous devez copier le résultat de la formule et coller uniquement les valeurs :
1. Sélectionnez le résultat de la formule et appuyez sur Ctrl + C pour le copier.
2. Faites un clic droit sur une cellule où vous allez coller le résultat copié. (Vous pouvez également coller la valeur à son emplacement d'origine.)
3. Sélectionnez l' Coller uniquement les valeurs option du menu contextuel.
Résultat
Vous obtiendrez maintenant une liste mélangée et modifiable, comme indiqué ci-dessous.
Si vous en avez assez d'utiliser des formules et que vous avez l'intention d'utiliser l'aide d'un complément, Kutools for Excel's Trier / sélectionner la plage au hasard La fonctionnalité peut vous aider à effectuer un tri aléatoire beaucoup plus facilement avec plus d'options. Veuillez procéder comme suit :
Tout d'abord, sélectionnez la liste que vous allez mélanger. Et puis sélectionnez Kutools > Autonomie > Trier / sélectionner la plage au hasard. Dans le pop-up Trier / sélectionner la plage au hasard dialogue, sélectionnez Lignes entières, puis cliquez sur Ok.
Si vous préférez randomiser une liste avec la méthode VBA, procédez comme suit.
Étape 1 : Sélectionnez la liste que vous allez mélanger
Étape 2 : Copiez le code VBA dans la fenêtre du module
1. presse Ctrl + F11 pour ouvrir l'éditeur VBA, puis cliquez sur insérer > Module pour ouvrir une fenêtre de code de module.
2. Copiez et collez le code VBA ci-dessous dans la fenêtre Module ouverte.
Code VBA : Trier aléatoirement une liste
Sub RandomSort()
'Update by ExtendOffice
Dim xRg As Range
Dim xNum, xF, xI As Integer
Dim xWSh, xAWSh As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xAWSh = Application.ActiveSheet
Set xRg = ActiveWindow.RangeSelection
Set xWSh = Worksheets.Add
xNum = xRg.Count
For xF = xNum To 1 Step -1
xI = WorksheetFunction.RandBetween(1, xF)
xWSh.Range("A1").Value = xRg.Item(xI)
xRg.Item(xI) = xRg.Item(xF)
xRg.Item(xF) = xWSh.Range("A1")
Next
xWSh.Delete
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Étape 3 : Exécutez le code VBA
Dans la fenêtre de code, appuyez sur F5 ou cliquez sur le bouton pour exécuter ce code.
Résultat