Répartition d'élèves dans plusieurs équipes selon deux critères

Theza

XLDnaute Nouveau
Bonjour,

Une fois de plus, je sollicite votre aide, cette fois avec ou sans macros!
J'ai trouvé des réponses sur le forum mais je n'arrive pas à les appliquer à mon document, VBA dépasse mes compétences...

J'ai une liste d'élèves que je dois répartir dans plusieurs équipes, selon le critère "SEXE" et "DEGRE".

L'équipe 1 aura:

un élève "M" de "8P" / une élève "F" de "8P"
un élève "M" de "7P" / une élève "F" de "7P"
un élève "M" de "6P" / une élève "F" de "6P"
un élève "M" de "5P" / une élève "F" de "5P"
un élève "M" de "4P" / une élève "F" de "4P"
un élève "M" de "3P" / une élève "F" de "3P"
un élève "M" de "2P" / une élève "F" de "2P"
un élève "M" de "1P" / une élève "F" de "1P"

L'équipe 2 aura:

un élève "M" de "8P" / une élève "F" de "8P"
un élève "M" de "7P" / une élève "F" de "7P"
un élève "M" de "6P" / une élève "F" de "6P"
un élève "M" de "5P" / une élève "F" de "5P"
un élève "M" de "4P" / une élève "F" de "4P"
un élève "M" de "3P" / une élève "F" de "3P"
un élève "M" de "2P" / une élève "F" de "2P"
un élève "M" de "1P" / une élève "F" de "1P"

et ainsi de suite...création de tant d'équipes qu'il y a d'élèves.

S'il est possible de faire sans macro, ce serait parfait mais le but étant que l'utilisateur complète la liste "Participants" en fonction des inscriptions, il faut que la répartition se fasse automatiquement. Je pense donc qu'une macro est le mieux adapté au besoin.

Y a-t-il une bonne âme sur le forum pour m'aider dans ce casse-tête?

Merci d'avance et amicalement,

Théza
 

Pièces jointes

  • Forum_Repartition_equipes.xlsx
    34.4 KB · Affichages: 70
  • Forum_Repartition_equipes.xlsx
    34.4 KB · Affichages: 59

Theza

XLDnaute Nouveau
Re : Répartition d'élèves dans plusieurs équipes selon deux critères

Regardez voir si ce résultat convient.

Il me semble que l'on s'approche de ce qu'il me faudrait. Merci beaucoup pour votre recherche.

Les élèves n’apparaissent pas tous dans le résultat, et quand ils y apparaissent, c'est toujours dans une seule équipe.

Oui, un élève n'apparaît qu'une fois.

Il n'y a pas autant d'équipes que d'élèves: il y en a le nombre d'élèves du genre en minorité dans le degré qui en compte le plus.

Je dirais qu'il y a autant d'équipes qu'il y a d'élèves selon le degré et/ou le sexe. Et plus on avance dans les équipes, plus nous avons des "duo garçon+filles" vides; voir même des élèves tous seuls dans une équipe qui peut contenir 16 élèves au maximum.

Je vais copier dans votre fichier ma liste définitive des 1000 élèves et voir ce que ça donne. Je donne des nouvelles au plus vite.

Sinon, une autre piste à laquelle j'ai pensé ce soir est:

Faire une liste de tous les garçons et une autre de toutes les filles.

Ensuite, faire une numérotation:
1er G de 1P = équipe no 1
2ème G de 1P = équipe no 2
3ème G de 1P = équipe no 3
4ème G de 1P = équipe no 4
etc

1er G de 2P = équipe no 1
2ème G de 2P = équipe no 2
3ème G de 2P = équipe no 3
4ème G de 2P = équipe no 4
etc

1er G de 3P = équipe no 1
2ème G de 3P = équipe no 2
3ème G de 3P = équipe no 3
4ème G de 3P = équipe no 4
etc

idem pour les filles

Je ne sais pas si ce serait plus simple ainsi...

Merci encore pour l'aide apportée, j'apprécie.

Amicalement,

Théza

ps: effectivement, mon fichier comporte des erreurs comme vous avez pu le constater sur les totaux. Cela est dû à la précipitation que j'ai eu de faire un fichier d'exemple; mea culpa.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Répartition d'élèves dans plusieurs équipes selon deux critères

C'est à peu près ce que j'ai fait.
J'ai séparé les paquets de chaque combinaison degré et sexe puis numéroté les éléments dans chacun.
J'explore ensuite le tout regroupé par numéros attribués, puis, pour un même numéro par degrés.
 

Theza

XLDnaute Nouveau
Re : Répartition d'élèves dans plusieurs équipes selon deux critères

Je n'avais pas vu votre réponse, j'étais en train de regrouper mes 8 listes d'élèves en une seule et ma réflexion fut:

Une autre solution serait de numéroter de
1 à xxx tous les garçons de 1P
1 à xxx tous les garçons de 2P
1 à xxx tous les garçons de 3P
etc jusqu'à 8P

Faire de même avec les filles
1 à xxx toutes les filles de 1P
1 à xxx toutes les filles de 2P
1 à xxx toutes les filles de 3P
etc jusqu'à 8P

et après faire une macro (ou une formule?) qui reprennent

Equipe 1
garçon no 1 et fille no 1 de 1P
garçon no 1 et fille no 1 de 2P
garçon no 1 et fille no 1 de 3P
garçon no 1 et fille no 1 de 4P
etc...

Equipe 2
garçon no 2 et fille no 2 de 1P
garçon no 2 et fille no 2 de 2P
garçon no 2 et fille no 2 de 3P
garçon no 2 et fille no 2 de 4P
etc...

Equipe 3
garçon no 3 et fille no 3 de 1P
garçon no 3 et fille no 3 de 2P
garçon no 3 et fille no 3 de 3P
garçon no 3 et fille no 3 de 4P
etc...

et ainsi de suite...
 

Theza

XLDnaute Nouveau
Re : Répartition d'élèves dans plusieurs équipes selon deux critères

J'ai remplacé la liste de noms fictifs de votre fichier avec celle des élèves (1002 en tout) et apparemment la répartition à fonctionné!

Je vais regarder cela à tête reposée mais en tout cas, merci infiniment pour le temps que vous avez consacré à tenter de résoudre mon problème, j'apprécie grandement!

Je vous tiens au courant.

Et vous souhaite une toute belle nuit et un bon week-end.

Amicalement,

Théza
 

Theza

XLDnaute Nouveau
[RESOLU] Répartition d'élèves dans plusieurs équipes selon deux critères

Dranreb,

J'ai regardé à nouveau le fichier, fais quelques tests et l'ai transmis à l'utilisateur final:

Tout est parfait, le but recherché est atteint et je t'en remercie grandement, tu m'as apporté une aide rapide et appréciable!

Belle journée et peut-être à bientôt,

Théza
 

Theza

XLDnaute Nouveau
Re : Répartition d'élèves dans plusieurs équipes selon deux critères

Bonjour!

Après avoir transmis le fichier - toute contente - à l'utilisateur final, celui-ci me signale qu'il y a 82 participants qui disparaissent car ils ne remplissent pas les conditions (en binôme G/F je suppose..).

Est-ce qu'il y a moyen de les repérer ou de faire que des équipes soient constituées que d'une seule personne?

Merci d'avance et désolée de déranger à nouveau. Je remets en pièce jointe le fichier avec 1002 élèves.

Amicalement,

Théza
 

Pièces jointes

  • Forum_Repartition_equipes_V3.xlsm
    168.6 KB · Affichages: 13

Dranreb

XLDnaute Barbatruc
Re : Répartition d'élèves dans plusieurs équipes selon deux critères

Bonjour.

Il y en a aussi surtout 6 qui disparaissent parce que la liste des élèves commence désormais en ligne 2 au lieu de commencer en ligne 8 comme dans le classeur d'origine !
Ceci étant corrigé, pour les sortir tous, oui, avec des équipes d'un un plusieurs élèves solitaires, ça simplifierais presque plutôt un peu les choses.
Me serait agréable que vous essayez d'adapter un peu vous même la programmation. Vous ne pourriez qu'y apprendre des choses intéressantes. Ne serait ce qu'en essayant de ne modifier que les parties qui ont changé là dedans :
VB:
Option Explicit

Sub Répartition()
Dim T(), L As Long, Don As Collection, Deg As SsGroup, Sex As SsGroup, _
    N As Long, Détail, dC As Long, C As Long, Équ As SsGroup
T = ColUti(Feuil1.[B2:F2], CMin:=5)
Randomize
For L = 1 To UBound(T, 1)
   T(L, 5) = Rnd: Next L
Set Don = GroupOrg(T, 3, 4, Null, 5)
L = 0
For Each Deg In Don
   For Each Sex In Deg.Contenu
      N = 0
      For Each Détail In Sex.Contenu
         L = L + 1: N = N + 1
         For C = 1 To 4: T(L, C) = Détail(C): Next C
         T(L, 5) = N: Next Détail, Sex, Deg
Set Don = GroupOrg(T, 5, 3, Null, -4)
ReDim T(1 To 1500, 1 To 10)
L = -1: N = 0
For Each Équ In Don
   L = L + 2: N = N + 1
   T(L, 1) = "Équipe " & N
   For Each Deg In Équ.Contenu
      L = L + 1
      For Each Détail In Deg.Contenu
         dC = IIf(Détail(4) = "G", 1, 6)
         For C = 1 To 4: T(L, C + dC) = Détail(C): Next C, Détail, Deg, Équ
Feuil3.[A8].Resize(1500, 10).Value = T
End Sub
Je joins quand même aussi le classeur.
 

Pièces jointes

  • GrpOrgTheza.xlsm
    170.3 KB · Affichages: 18
  • GrpOrgTheza.xlsm
    170.3 KB · Affichages: 19

Theza

XLDnaute Nouveau
Re : Répartition d'élèves dans plusieurs équipes selon deux critères

Merci beaucoup, pour le résultat et à nouveau pour la rapidité.

Effectivement, j'aurais bien aimé corrigé le document moi-même mais ce langage est tellement complexe pour moi. Il aurait peut-être fallu que je m'y intéresse dès le début car lorsque je fais des recherches sur des sites, même les réponses ne me parlent pas car les discussions se font entre personnes averties et qualifiées...mais il n'est pas trop tard effectivement.

J'avais tenté d'apprendre à travailler avec phpmysql, avec achats de livres "pour les nuls", "de codes", etc, mais faute de temps (autant au travail qu'à la maison), j'ai malheureusement dû abandonner.

Faudra bien que j'y vienne un jour car pour moi c'est magique. Seulement, il faut que je commence par des petites macros, mais j'ai toujours des besoins compliqués.

Encore un grand merci pour le temps consacré à m'aider.

Amicalement,

Théza
 

Discussions similaires

Statistiques des forums

Discussions
312 083
Messages
2 085 178
Membres
102 808
dernier inscrit
guo