Création groupes en fonction de critères

Bonjour, bonjour !

Je souhaiterai créer des groupes de personnes en fonction de plusieurs critères, mais je coince...

J'explique mon problème :

J'ai des 200 personnes qui se sont inscrites à 2 ateliers (sur un total de 7 ateliers) + 1 choix de substitution au cas ou un des deux ateliers serait complet (30 personnes maximum par atelier et par créneau horaires, avec 2 créneaux horaires).

/!\ il y a 2 horaires pour un même ateliers donc je dois faire attention qu'une même personne n'ait pas ses 2 ateliers en même temps.

(horaires des ateliers : Atelier 1 : créneau 1= 9h-10h créneau 2=10h-11h ; Atelier 2 : créneau 1= 9h-10h créneau 2=10h-11h ; Atelier 3 : créneau 1= 9h-10h créneau 2=10h-11h ; etc...) .

Ensuite, si l'atelier est complet (ex : Atelier 1 : créneau 1 = 30 personnes inscrites et créneau 2 = 30 personnes inscrites) je dois utiliser le choix de substitution des personnes pour les intégrer à un autre groupe.

Je souhaite néanmoins qu'au minimum un de leur choix soit respecté.

Au final je souhaite savoir qui sont les personnes dans l'atelier 1 créneau 1 ; dans l'atelier 1 créneau 2 ; dans l'atelier 2 créneau 1 ; dans l'atelier 2 créneau 2 ; dans l'atelier 3 créneau 1 ; dans l'atelier 3 créneau 2 ; etc...

Je pensais en critère :

= leur choix (2 choix + 1 de substitution au cas ou) ;

= les horaires (2 créneaux pour un même atelier) ;

= le nombre de places (place max par atelier et par créneau 30 personnes // 200 participants au total).

Merci par avance pour votre aide !

Bonne journée !

Bonjour,

un petit problème avec ton énoncé qui rend la solution impossible

200 personnes * 2 ateliers par personne = 400 places dans les créneaux

6 ateliers * 2 créneaux * 30 places = 360 places disponibles.

il manque au minimum 40 places dans les créneaux pour pouvoir placer tout le monde sur 2 ateliers.

Bonjour Vincent,

Une solution par VBA te conviendrait ?

Bonjour,

une solution incomplète (car énoncé rend la solution complète impossible voir plus haut) pour ton problème

j'ai adapté la manière de faire les choix. mettre un 1 pour le 1er choix un 2 pour le second choix et un 3 pour le troisième choix.

168groupes-ateliers.xlsm (30.26 Ko)

il manque au minimum 40 places dans les créneaux pour pouvoir placer tout le monde sur 2 ateliers.

Je rejoins la remarque d'h2so4.

J'ai une liste des "personnes qui ne sont pas dans un atelier" et celle-ci est constamment de 41 élève.

Pour remédier à sa, il faudrait augmenter la limite de place dans un atelier à 34 !

Sinon, voici mon essaie !

55pour-vincent.xlsm (39.94 Ko)

@juice,

il me semble que tu as oublié une contrainte (2 ateliers pour une même personne ne peuvent être dans le même créneau horaire)

Merci à vous deux, H2so4 Juice !!!

Vous avez entièrement raison, j'ai fais une erreur, il y a 7 Ateliers. (j'édit le post)

Toutes mes excuses.

Je ne maitrise pas le VBA mais je prends toute l'aide et les connaissances possibles

@H2so4

il me semble que tu as oublié une contrainte (2 ateliers pour une même personne ne peuvent être dans le même créneau horaire)

Aaah ! En effet ! Merci !

Bon bah je reprend mon fichier en rajoutant le critère temps et le 7ème atelier

re-bonjour,

une version avec 7 ateliers

Ca fonctionne parfaitement !!!

Merci beaucoup

Pourrais-je abuser de ta gentillesse et te demander quelques explications que j'essaye de comprendre la macro s'il te plait ?

Bonjour,

une nouvelle version avec code commenté et bugs corrigés.

merci h2so4,

par contre j'ai un problème, toutes les personnes n'ont pas deux groupes attribués.

Et donc si je comprends bien, les personnes qui n'ont pas deux groupes attribués sont des choix impossibles ?!

Et cela vient de la pondération des choix ?!

Est il possible d'obliger l'attribution de chaque personnes à deux groupes ?

Et avec dans l'idéal 2 / 3 choix respectés ?

SI le problème vient de la pondération, en pondérant identiquement Choix 1 & Choix 2 et si l'attribution de chaque personnes à deux groupe n'est pas possible, utiliser Choix 3(substitution).

Avec comme obligation :

  • La place dans chaque groupes : 30personnes max.
  • L’attribution de 2 groupes à chaque personnes.

Est ce que cela peut fonctionner ?

Merci merci

PS : j'ai mis en pj le fichier avec des modifs dans les choix des ateliers pour que ça colle avec mon fichier avec les noms rangés par ordre alphabétique.

Bonjour,

en mettant un poids identique (1) pour les premiers choix et (2 ou 3) pour le choix de substitution et en arrangeant les ateliers dans l'ordre croissant du nombre de personnes avec un choix 1 on améliore sensiblement le résultat, qui ne reste pas parfait.

C'est parfait !

Je te remercie beaucoup, c'est exactement ce dont j'avais besoin...

Petite question,

J'ai du faire une mauvaise manipulation, car j'ai le groupe 1 qui n'inscrit plus personne et je n'arrive pas à réparer le pb.

J'ai essayé de reprendre les macros du fichier initial, mais aucune modifs...

Aurais tu une piste s'il te plait ?

Bonjour,

si tu as fait une erreur de manipulation, reprends le dernier fichier que j'ai mis.

pour le reste impossible de t'aider sans fichier.

Rechercher des sujets similaires à "creation groupes fonction criteres"