🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Comment sélectionner, échantillonner et mélanger des lignes au hasard dans Excel

|

Comment sélectionner, échantillonner et mélanger des lignes au hasard dans Excel

En bref — Chaque tirage aléatoire dans Excel est la même astuce : donnez un nombre aléatoire à chaque ligne, puis triez selon ce nombre. Ce que vous prenez en haut est un échantillon aléatoire ; l'ensemble réordonné est un mélange. Sur Excel 365, c'est une seule formule — =TAKE(SORTBY(données; TABLEAU.ALEA(LIGNES(données))); n) tire n lignes au hasard sans répétition. La distinction unique qui décide si votre échantillon est valide : sans remise (tri-par-aléatoire — chaque tirage distinct) contre avec remise (INDEX + ALEA.ENTRE.BORNES — les tirages peuvent se répéter). Et si vous triez selon un ALEA() vivant, figez-le d'abord en valeurs, sinon il se relance en plein tri.

' Moderne (Excel 365) — tirer 10 lignes au hasard, sans répétition :
=TAKE(SORTBY(A2:C500; TABLEAU.ALEA(LIGNES(A2:C500))); 10)

' Mélanger toute une liste dans un ordre aléatoire :
=SORTBY(A2:A100; TABLEAU.ALEA(LIGNES(A2:A100)))

' Classique (toute version) — colonne d'aide, puis tri dessus :
' B2 :  =ALEA()      puis Copier → Coller les valeurs → trier par colonne B → prendre les N premières

« Prendre quelques lignes au hasard » a l'air trivial, et la formule l'est presque. Ce qui sépare un échantillon aléatoire correct d'un faux d'apparence plausible, c'est un choix unique que la plupart des gens ne remarquent même pas faire — celui de savoir si la même ligne peut être tirée deux fois. Réglez cela et la mécanique est facile.

Ce que vous allez apprendre

  • Le motif universel : clé aléatoire → tri → prise (tout n'en est qu'une variante)
  • Le one-liner moderne avec SORTBY + TABLEAU.ALEA, et la colonne d'aide classique ALEA
  • La distinction qui gâche les échantillons : sans remise contre avec remise
  • Le piège figer-avant-de-trier qui rend irreproductibles les échantillons à ALEA() vivant
  • Comment répartir une liste en groupes aléatoires équilibrés (affectation aléatoire)

Le motif unique derrière tout : clé aléatoire → tri → prise

Il n'y a en réalité qu'une seule idée ici, et chaque méthode ci-dessous n'en est qu'un déguisement :

  1. Attachez un nombre aléatoire à chaque ligne.
  2. Triez les lignes selon ce nombre aléatoire.
  3. Prenez autant que nécessaire en haut (ou prenez tout, pour un mélange).

Comme l'ordre de tri est aléatoire, le haut de la liste est un sous-ensemble aléatoire, et la liste entière réordonnée est un mélange. C'est tout. Échantillonner, mélanger, tirer des gagnants, répartir en équipes — tout cela, c'est « trier selon l'aléatoire, puis découper ». Dès que vous le voyez, vous ne mémorisez plus cinq recettes ; vous en appliquez une seule.

Le one-liner moderne (Excel 365)

Sur 365, TABLEAU.ALEA fabrique la clé aléatoire, SORTBY fait le tri, et TAKE découpe le haut — une seule formule, aucune colonne d'aide, et elle se propage :

=SORTBY(A2:A100; TABLEAU.ALEA(LIGNES(A2:A100)))            ' mélanger toute la liste
=TAKE(SORTBY(A2:C500; TABLEAU.ALEA(LIGNES(A2:C500))); 10)  ' 10 lignes au hasard, toutes colonnes

TABLEAU.ALEA(LIGNES(plage)) génère exactement une clé aléatoire par ligne ; SORTBY réordonne les lignes selon ces clés ; TAKE(...; 10) garde les dix premières. Comme chaque ligne reçoit sa propre clé distincte et est simplement réordonnée, aucune ligne ne peut apparaître deux fois — c'est un échantillonnage sans remise, ce que « un échantillon aléatoire de 10 clients » signifie presque toujours.

La méthode classique (toute version d'Excel)

Avant les tableaux dynamiques, le même motif reposait sur une colonne d'aide. Elle fonctionne encore partout et reste le bon outil quand vous êtes sous Excel 2019 ou antérieur :

  1. Dans une colonne libre à côté de vos données, saisissez =ALEA() et recopiez-la sur chaque ligne.
  2. Copiez cette colonne, puis Collage spécial → Valeurs (c'est l'étape cruciale — voir plus bas).
  3. Triez vos données selon cette colonne.
  4. Les N premières lignes sont votre échantillon aléatoire ; l'ensemble est désormais mélangé.

Les mêmes trois gestes — clé aléatoire, tri, prise — simplement faits à la main. Pour tirer une seule ligne au hasard, vous pouvez aussi sauter complètement le tri :

=INDEX(A2:A100; ALEA.ENTRE.BORNES(1; LIGNES(A2:A100)))   ' une ligne au hasard — PEUT se répéter si réutilisée

Notez qu'INDEX + ALEA.ENTRE.BORNES réutilisée le long d'une colonne échantillonne avec remise — la même ligne peut revenir — ce qui est tout le sujet de la section suivante.

La distinction qui gâche les échantillons : avec ou sans remise

C'est l'idée autour de laquelle tout l'article est construit, car s'y tromper produit une réponse fausse qui paraît parfaitement correcte.

  • Sans remise — chaque ligne peut être choisie au plus une fois. C'est la méthode tri-par-aléatoire. C'est ce qu'il vous faut pour un échantillon de clients distincts, un mélange, un tirage de gagnants uniques, ou une répartition en équipes.
  • Avec remise — chaque tirage est indépendant et la même ligne peut être choisie à nouveau. C'est INDEX(plage; ALEA.ENTRE.BORNES(1; n)) répété, ou ALEA.ENTRE.BORNES utilisée pour générer des numéros de ligne. C'est correct pour les simulations (bootstrap, dés) où les répétitions sont légitimes.

Le mode d'échec est silencieux et coûteux : quelqu'un construit un « échantillon aléatoire de 50 clients » en recopiant =INDEX(liste; ALEA.ENTRE.BORNES(1; 500)) sur 50 lignes, et l'échantillon contient discrètement le même client deux ou trois fois. Aucune erreur, aucun avertissement — juste un échantillon biaisé qui surpondère celui qui a été tiré deux fois. Règle : si le mot « échantillon » ou « unique » figure quelque part dans la tâche, il vous faut le sans remise — triez selon une clé aléatoire, jamais des numéros de ligne ALEA.ENTRE.BORNES.

Le piège figer-avant-de-trier

Voici le subtil qui piège ceux qui emploient la méthode classique. ALEA() est volatile : elle se relance à chaque recalcul — et trier est un recalcul. Donc si vous triez vos données selon une colonne =ALEA() vivante, Excel génère de tout nouveaux nombres aléatoires pendant le tri, et l'ordre obtenu ne correspond plus aux nombres que vous avez sous les yeux. Pire, l'« échantillon » change chaque fois que quelqu'un touche la feuille, il ne peut donc jamais être reproduit ni audité.

Le correctif, c'est l'étape 2 ci-dessus, et il n'est pas facultatif : copiez la colonne ALEA() et faites Collage spécial → Valeurs pour la figer avant de trier. Une fois les clés devenues des nombres statiques, le tri est stable et l'échantillon est reproductible. Pour tout ce qui est auditable — un échantillon de conformité, une affectation d'essai randomisé — consignez les clés figées (ou la date du tirage) ; un résultat aléatoire que personne ne peut reproduire ne vaut rien comme preuve.

Bonus : répartir une liste en groupes aléatoires équilibrés

L'affectation aléatoire — diviser des personnes en N équipes, en groupes A/B ou en créneaux — est le même motif avec une pirouette à la fin. Attachez une clé aléatoire, classez-la, puis mappez le rang en groupes avec MOD :

' Après avoir figé une clé ALEA() en colonne B, classez chaque ligne et affectez à 3 groupes :
=MOD(RANG(B2; $B$2:$B$100) - 1; 3) + 1     ' -> 1, 2 ou 3, uniformément et au hasard

RANG transforme les clés aléatoires en positions 1..N ; MOD(...; 3) distribue ces positions en trois groupes comme on distribue des cartes, si bien que les groupes sortent de même taille (±1) mais de composition aléatoire. Remplacez le 3 par le nombre de groupes voulu.

Savoir trancher

Cessez de collectionner des recettes et retenez le motif unique : clé aléatoire → tri → prise. Échantillonner, mélanger, tirer des gagnants et affecter des groupes ne sont que ce motif avec une dernière étape différente. Les deux décisions qui déterminent vraiment si votre résultat est correct sont, d'abord, la remise — si la tâche dit « échantillon » ou « unique », il vous faut le sans-remise (tri selon une clé aléatoire), pas des tirages ALEA.ENTRE.BORNES répétables — et ensuite, le figeage : convertissez une clé ALEA()/TABLEAU.ALEA() vivante en valeurs avant de trier, sinon votre échantillon se relance sous vos pieds et ne peut jamais être reproduit. Tout le reste n'est que tuyauterie.

Comment ExcelMaster vous aide

La distinction sur la remise est exactement le genre de chose facile à rater et difficile à repérer. Dites à ExcelMaster « tire 30 clients au hasard dans cette liste, sans répétition » et il construit =TAKE(SORTBY(plage; TABLEAU.ALEA(LIGNES(plage))); 30) — la méthode sans remise — plutôt qu'une approche ALEA.ENTRE.BORNES qui compterait double en silence. Demandez-lui de « mélanger ces noms » ou de « répartir cet effectif au hasard en 4 équipes » et il écrit la formule tri-par-aléatoire ou MOD-en-groupes, et vous rappelle de figer les clés aléatoires en valeurs pour que le résultat reste en place. Vous décrivez le tirage ; il choisit le mécanisme statistiquement correct et le garde reproductible.

Questions fréquentes

Comment sélectionner des lignes au hasard dans Excel ?

Attachez un nombre aléatoire à chaque ligne et triez dessus. Sur Excel 365, une seule formule le fait : =TAKE(SORTBY(données; TABLEAU.ALEA(LIGNES(données))); n) renvoie n lignes au hasard sans répétition. Dans toute version, ajoutez une colonne d'aide de =ALEA(), faites Copier → Collage spécial → Valeurs pour la figer, triez selon cette colonne, et prenez les n premières lignes.

Comment randomiser (mélanger) une liste dans Excel ?

Triez la liste selon une clé aléatoire. Moderne : =SORTBY(plage; TABLEAU.ALEA(LIGNES(plage))) renvoie toute la liste dans un ordre aléatoire. Classique : placez =ALEA() dans une colonne d'aide, figez-la en valeurs, et triez vos données dessus. Les deux réordonnent chaque élément exactement une fois.

Quelle différence entre échantillonnage avec et sans remise ?

Sans remise signifie que chaque ligne peut être tirée au plus une fois — la méthode tri-par-aléatoire (SORTBY + TABLEAU.ALEA, ou une colonne ALEA figée). Avec remise signifie que la même ligne peut être tirée plusieurs fois — INDEX(plage; ALEA.ENTRE.BORNES(1; n)) répété. Utilisez le sans remise pour de vrais échantillons d'éléments distincts ; réservez l'avec remise aux simulations où les répétitions sont voulues.

Pourquoi mon échantillon aléatoire change-t-il à chaque fois ?

Parce qu'ALEA() et TABLEAU.ALEA() sont volatiles et se relancent à chaque recalcul. Si votre échantillon est piloté par des formules aléatoires vivantes, il sera différent à chaque recalcul de la feuille. Figez d'abord les valeurs aléatoires — sélectionnez-les, Copier, puis Collage spécial → Valeurs — avant de trier ou de consigner l'échantillon.

Comment affecter des éléments à des groupes au hasard dans Excel ?

Attachez et figez une clé =ALEA(), puis répartissez les rangs en groupes : =MOD(RANG(clé; plage_clés) - 1; N) + 1 affecte chaque ligne à l'un des N groupes, uniformément et au hasard. Remplacez N par le nombre de groupes voulu (3 pour trois équipes, 2 pour une répartition A/B, et ainsi de suite).

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 11/07/2026.

Guides associés : Excel ALEA & ALEA.ENTRE.BORNES · Excel TABLEAU.ALEA · Excel SORT & SORTBY · Excel TAKE & DROP