KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Générer rapidement des groupes aléatoires pour une liste de données dans Excel

AuteurSun Date de modification

Dans le cadre de votre travail quotidien ou lors de la préparation de sessions d’étude ou de formation, vous avez parfois besoin de répartir une liste de données — comme des noms, des identifiants d’étudiants ou des tâches de projet — en groupes de manière aléatoire. Par exemple, comme illustré dans la capture d’écran 1, les éléments de données sont affectés aléatoirement à des groupes, ou comme démontré dans la capture d’écran 2, les noms sont répartis entre des équipes aléatoires pour une activité ou une tâche collective. Réaliser cette opération efficacement garantit l’équité et permet de gagner un temps considérable par rapport à une affectation manuelle. Heureusement, Excel propose plusieurs méthodes fiables — notamment des formules, l’automatisation VBA et l’analyse avec des tableaux croisés dynamiques — pour gérer rapidement et facilement l’affectation aléatoire de groupes.

Capture d’écran 1Capture d’écran 2
  capture d’écran montrant des données aléatoires attribuées à un groupe  capture d’écran montrant des données aléatoires attribuées à une liste de noms

Affecter aléatoirement des données à des groupes

Générer des groupes aléatoires selon une taille de données spécifiée

Automatiser l’affectation aléatoire de groupes avec VBA (Options avancées)

Télécharger le fichier exemple


Affecter aléatoirement des données à des groupes

Lorsque vous devez répartir aléatoirement une liste de données en un nombre donné de groupes — même si les tailles des groupes peuvent varier — vous pouvez obtenir ce résultat en un clin d’œil grâce aux fonctions CHOISIR et ALEA.ENTRE.BORNES d’Excel. Ce type de scénario s’applique notamment à l’organisation de participants pour des jeux ou à la création d’équipes ponctuelles lors de réunions.

Commencez par sélectionner une cellule vide adjacente à votre liste (par exemple, si votre liste se trouve dans la colonne A, choisissez la cellule B2), puis saisissez la formule suivante :

=CHOOSE(RANDBETWEEN(1,3),«Group A»,«Group B»,«Group C »)

Dans cette formule :

  • ALEA.ENTRE.BORNES(1,3) signifie que des nombres aléatoires compris entre 1 et 3 sont générés, représentant ainsi 3 groupes.
  • Groupe A, Groupe B et Groupe C sont les noms des groupes qui apparaîtront à côté de vos données.

Ensuite, faites glisser la poignée de recopie vers le bas pour appliquer cette formule à toutes les lignes et répartir aléatoirement les éléments dans les groupes.
capture d’écran illustrant l’utilisation d’une formule pour attribuer aléatoirement des données à des groupes

Après cette étape, chaque élément de données est attribué aléatoirement à un groupe. Veuillez noter que les résultats peuvent varier à chaque recalcul de la feuille (par exemple après la modification d’une cellule ou la réouverture du fichier), car ALEA.ENTRE.BORNES est une fonction volatile.

Conseil pratique : Si vous ne souhaitez pas que ces affectations changent, copiez les résultats de la formule et utilisez Collage spécial > Valeurs pour figer les affectations.

Scénarios applicables : Cette méthode offre une grande flexibilité et convient parfaitement aux besoins rapides et généraux de regroupement. Toutefois, la taille des groupes peut varier, ce qui peut ne pas convenir aux situations exigeant une répartition strictement équilibrée.

Attention : Soyez prudent si vous travaillez avec un grand volume de données ou si vous avez besoin de tailles de groupes précises — envisagez d’autres méthodes pour bénéficier d’un contrôle accru.

capture d’écran de kutools for excel ia

Libérez la magie d’Excel avec Kutools IA

  • Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
  • formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
  • Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
  • Interprétation de formules : Décryptez facilement les formules complexes.
  • Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Améliorez vos capacités Excel grâce à des outils alimentés par l’intelligence artificielle.Téléchargez dès maintenantet découvrez une efficacité inégalée !

Générer des groupes aléatoires selon une taille de données spécifiée

Pour répartir des données en groupes attribués aléatoirement avec un nombre fixe d’éléments par groupe (par exemple, 4 membres par équipe), la combinaison des fonctions **ARRONDI.SUP** et **RANG** d’Excel offre une solution simple et efficace — idéale pour organiser des devoirs en classe, constituer des équipes équilibrées ou gérer toute situation nécessitant des groupes de taille uniforme.

Pour appliquer cette méthode :

1. Commencez par ajouter une colonne auxiliaire juste à côté de vos données (par exemple, en colonne E) et saisissez ceci en cellule E2 :

=ALEA()

Faites glisser cette formule vers le bas pour remplir toutes les cellules nécessaires de votre liste. La fonction ALEA attribue une valeur aléatoire à chaque élément.

2. Dans la colonne suivante (par exemple, F2), saisissez la formule suivante :

=ARRONDI.SUP(RANG(E2;$E$2:$E$13)/4;0)

Ici :

  • E2:E13 : Modifiez cette plage afin qu’elle corresponde à vos données. Elle doit inclure toutes les lignes contenant la fonction =ALEA().
  • 4 : La taille de chaque groupe. Modifiez ce nombre si vous souhaitez des tailles de groupes différentes.

 

Faites glisser la poignée de recopie vers le bas pour appliquer cette formule à toutes les lignes : vos données seront ainsi réparties en groupes d’environ 4 éléments chacun.
capture d’écran illustrant l’utilisation d’une formule pour générer des groupes aléatoires selon une taille de données spécifiée

Conseils supplémentaires :

  • Si le nombre total d’éléments n’est pas divisible par la taille du groupe, le dernier groupe peut en contenir moins.
  • Utilisez Collage spécial > Valeurs après la randomisation pour figer les groupes et éviter qu’ils ne changent lors des recalculs.
  • Actualiser ALEA() réinitialise aléatoirement les groupes — une fonctionnalité utile si l’affectation initiale nécessite un ajustement.

Limites : Cette méthode ne vous permet pas de spécifier directement le nom du groupe (elle génère des numéros de groupe), et avec de grands jeux de données, la formule peut ralentir les recalculs.


Automatiser l’affectation aléatoire de groupes avec VBA (Options avancées)

Pour les utilisateurs aux besoins plus avancés — comme s’assurer qu’aucun membre n’appartient à plusieurs groupes, équilibrer précisément les tailles des groupes ou réaffecter en respectant des contraintes spécifiques — VBA offre une flexibilité bien supérieure. Cette approche s’avère particulièrement utile pour les listes volumineuses ou lorsqu’il faut effectuer des affectations répétées. Avant de commencer, pensez à sauvegarder votre fichier, car le code VBA modifie généralement vos données directement.

1. Cliquez sur Outils de développement > Visual Basic pour ouvrir l’éditeur VBA, puis cliquez sur Insertion > Module. Copiez-collez le code suivant dans le nouveau module :

Sub AssignRandomGroups()
    Dim GroupCount As Integer
    Dim GroupSize As Integer
    Dim rng As Range, cell As Range
    Dim i As Long, j As Long, idx As Long
    Dim arr() As Variant, groupArr() As Variant, grpNum As Integer
    Dim ws As Worksheet
    Dim totalRows As Integer, remaining As Integer
    
    On Error Resume Next
    Set ws = Application.ActiveSheet
    Set rng = Application.InputBox("Select the range of data to group", "KutoolsforExcel", Type:=8)
    
    GroupCount = Application.InputBox("Enter the number of groups:", "KutoolsforExcel", 3, Type:=1)
    
    If rng Is Nothing Or GroupCount <= 0 Then Exit Sub
    
    arr = rng.Value
    totalRows = UBound(arr, 1)
    GroupSize = Int(totalRows / GroupCount)
    remaining = totalRows - GroupSize * GroupCount
    
    ReDim groupArr(1 To totalRows)
    Dim used() As Boolean
    ReDim used(1 To totalRows)
    
    Randomize
    
    For i = 1 To totalRows
        Do
            idx = Int(Rnd() * totalRows) + 1
        Loop While used(idx)
        
        used(idx) = True
        groupArr(i) = idx
    Next i
    
    For i = 1 To totalRows
        grpNum = Int((i - 1) / GroupSize) + 1
        If grpNum > GroupCount Then grpNum = GroupCount
        rng.Cells(groupArr(i), 1).Offset(0, 1).Value = "Group " & grpNum
    Next i
    
    MsgBox "Groups assigned randomly and as evenly as possible.", vbInformation
End Sub

2. Cliquez ensuite sur le bouton Bouton Exécuterpour exécuter le code. Vous serez invité à sélectionner la plage de vos données (par exemple, une colonne contenant des noms ou des identifiants), puis à indiquer le nombre de groupes souhaités. Le code VBA attribuera alors chaque ligne de données à un groupe en inscrivant le numéro correspondant dans la colonne immédiatement à droite.

  • Empêcher les affectations en double : Chaque membre est placé dans un seul groupe uniquement.
  • Groupes équilibrés : Répartit les éléments de façon aussi uniforme que possible. Si les données ne peuvent pas être divisées exactement en parts égales, le(s) dernier(s) groupe(s) peut (peuvent) contenir un élément de plus ou de moins.
  • Personnalisation : adaptez le code VBA pour modifier le texte affiché, la colonne de départ ou ajouter d’autres règles d’affectation.

Mises en garde : VBA modifie directement les données de votre feuille de calcul — veillez à sauvegarder une copie avant d’exécuter le code. En cas d’erreur (par exemple si vous sélectionnez trop de colonnes), vérifiez attentivement votre sélection ainsi que les valeurs indiquées pour le nombre de groupes.

Dépannage : Si l’onglet Développeur n’est pas visible, activez-le via Fichier > Options > Personnaliser le ruban > Développeur. En cas d’erreur, assurez-vous que vos paramètres de macro sont bien activés (Fichier > Options > Centre de gestion de la confidentialité).

Avantages selon les cas d’usage : VBA convient parfaitement aux utilisateurs avancés qui ont besoin d’un contrôle précis, de traiter de grands volumes de données ou d’automatiser des tâches répétitives. En revanche, il est moins adapté aux opérations simples et rapides, car il exige l’activation des macros ainsi que l’écriture ou la modification de code.


Télécharger le fichier exemple

Cliquez pour télécharger le fichier exemple


Autres articles populaires


Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels