XL pour MAC Répartition sur ateliers selon voeux préférentiels

Throy

XLDnaute Nouveau
Bonjour,

Je me permets vous envoyer un message pour m’aider dans la création d’un tableur excel. J

Je suis enseignant dans un collège et nous organisons un forum des métiers au collège au mois de décembre. Nous avons 36 intervenants(ateliers) pour 240 élèves attendus (entre 200 et 280 max).

Le forum se déroule en trois temps distincts :
13h30-14h30 : 1er atelier
14h30 -15h30 : 2nd atelier

Nous allons demander aux élèves du collège de faire des vœux de préférence de 1 à 3 sur les ateliers.
Chaque élève devra participer à deux ateliers, un en M1 (13h30-14h30), un en M2 (14h30-15h30).
L'idée est que l'élève est son vœu 1, puis le 2 ou 3 si possible. Au minima le 1.
Nous souhaitons éviter qu'un intervenant se trouve avec moins de 7 élèves et plus 10.

Une fois la répartition sur les ateliers effectuée, chaque élève doit se retrouver avec deux ateliers.

Pour la suite, je pense pouvoir gérer une extraction avec "elève" ; atelier M1 ; Atelier M2 pour une rédiger une convocation avec publipostage.

L'année dernière j'ai essayé de créer un fichier Excel mais trop de contraintes pour moi, je ne maitrise pas suffisamment le logiciel. Nous avons fini par faire tout ça sur un tableau papier.....

Je vous remercie pour l’aide que vous pourrez m’apporter,

Cordialement

Throy
 

Pièces jointes

  • Forumdesmétiers.xlsx
    17.8 KB · Affichages: 14
Dernière édition:

Dudu2

XLDnaute Barbatruc
Bonjour,

Ce n'est pas du tout un algorithme facile à écrire.
Voici ma tentative faite en plusieurs étapes pour donner toutes leurs chances aux élèves:
- Affectation aléatoire des Choix 1 de tous les élèves
- Affectation aléatoire des Choix 2 des élèves n'ayant pas eu de Choix 1
- Affectation aléatoire des Choix 3 des élèves n'ayant pas eu de Choix 1 ni de Choix 2
- Affectation aléatoire des Choix 2 de tous les élèves n'ayant pas eu de Choix 2 auparavant
- Affectation aléatoire des Choix 3 des élèves n'ayant pas eu de Choix 2 ni de Choix 3 auparavant
- Affectation aléatoire des Choix 3 de tous les élèves n'ayant pas eu de Choix 3 auparavant

Je n'ai fait que les tableaux bruts de la feuille Attribution élèves et la MFC des Choix satisfaits.
ll reste à faire le remplissage de la feuille Répartition sur Atelier sur cette base.
Je te laisse le faire et si tu ne sais pas le coder en VBA, j'essaierai.

Edit: Je n'ai fait aucun contrôle sur les choix des élèves supposés être de 3 valeurs non vides, numériques entières posititves, inférieures ou égales au nombre d'Activités, et accessoirement non redondantes.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Selon les cas, l'algorithme ne permettra pas à tous les élèves de se voir affecter 2 ateliers.
En effet, la logique d'affectation peut aboutir à des situations bloquantes pour le 2ème atelier, alors qu'il est possible, par déplacement de l'atelier affecté M1 en M2 (ou inversement et si disponibilité) de libérer M1 (ou M2 ) pour y placer un choix non affecté.

Edit: Il peut être intéressant de tenter plusieurs répartitions (aucune n'est identique puisqu'aléatoire) pour minimiser le nombre d'élèves n'ayant pas obtenu tous leurs ateliers.

Cette étape doit être faite manuellement, car si il est possible par programme de redistribuer les ateliers pour ces élèves de manière à tenter de satisfaire 2 choix, je ne l'ai pas codé car ce n'est pas tout à fait simple et peut aussi relever du subjectif (privilégier un choix plutôt qu'un autre ou une plage horaire). De plus je suppose qu'une revue amènera à des ajustements manuels dont cette étape fait partie.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Petite amélioration consistant, lorsqu'une Activité est sollicitée, à attribuer en priorité l'Atelier le moins rempli. Ça réduit la probabilité d'avoir des élèves sans leurs 2 Ateliers mais ne dispense pas de l'étape manuelle décrite ci-dessus.
 

Pièces jointes

  • Forumdesmétiers.xlsm
    57.2 KB · Affichages: 7
Dernière édition:

Dudu2

XLDnaute Barbatruc
Ok, si tu peux, envoie-moi les choix dans une liste anonymisée pour que je voie (vois ?) le résultat.
J'ai testé sur des choix randomisés mais ceux des élèves seront bien différents avec beaucoup d'élèves demandeurs des même Activités.
 

Throy

XLDnaute Nouveau
Ok, si tu peux, envoie-moi les choix dans une liste anonymisée pour que je voie (vois ?) le résultat.
J'ai testé sur des choix randomisés mais ceux des élèves seront bien différents avec beaucoup d'élèves demandeurs des même Activités.
Voilà le fichier avec les choix des élèves. Ca beug erreur d'exécution "9"
J'ai laissé des choix vides pour certains élèves n'ayant pas eu leur retour, est-ce que ca peut venir de la ?
 

Pièces jointes

  • Forumdesmétiers.xlsm
    52.8 KB · Affichages: 5

Dudu2

XLDnaute Barbatruc
Ça beug.
Ben oui, c'est normal c'est plein de trous partout.

1638382506265.png

1638382536012.png


Je l'ai spécifié en post #2:
Edit
: Je n'ai fait aucun contrôle sur les choix des élèves supposés être de 3 valeurs non vides, numériques entières posititves, inférieures ou égales au nombre d'Activités, et accessoirement non redondantes.

Bon, je vais modifier le code pour les accepter.
 
Dernière édition:

Throy

XLDnaute Nouveau
Si je laisse un élève sans choix ou avec seulement 2 choix, il y a un bug.
J'ai donc supprimé tous les élèves sans voeux, et j'ai mis 36 en troisième choix pour les élèves n'ayant fait que 2 voeux.
L'atelier 36 étant supprimé l'intervenant ne viendra. Je pense affecter manuellement les élèves qui sont sur l'atelier 36. Seulement 6.

Merci beaucoup en tout cas !!
 

Dudu2

XLDnaute Barbatruc
Ok, donc laisse l'Activité 36 présente comme "poubelle" des choix.
Le nombre d'activités est déterminé dynamiquement en fonction du nombre de lignes du tableau des activités.
Si elle est était supprimée toute référence à l'Activité 36 planterait le programme qui ne fait aucun contrôle sur la validité les choix des élèves.
 

Dudu2

XLDnaute Barbatruc
Je te renvoie ton fichier qui accepte les trous. Un petite modif a suffi.
Par contre ça fausse les stats finales d'élèves avec moins de 2 ateliers.
Il faudra une autre modifs demain pour corriger.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Finalement j'ai fait les modifs pour différencier les Choix non traités, traités non affectés et traités affectés. Les Stats s'en trouvent un peu plus complexes. Les filtres, en particulier celui de la colonne J, permettent de retrouver les différents cas.

Edit: A noter que les Choix non vides et non valides sont marqués avec "???".
 

Pièces jointes

  • Forumdesmétiers.xlsm
    56 KB · Affichages: 16
Dernière édition:

Dudu2

XLDnaute Barbatruc
Une question pour un autre sujet.
Lorsque tu récupères le fichier que j'ai créé sous Windows, tu opères des modifications pour MAC ?
En tous cas dans le sens MAC -> PC je suis obligé de modifier les caractères 'é' et 'É' que MAC a modifiés dans le code VBA.
 

Statistiques des forums

Discussions
311 720
Messages
2 081 923
Membres
101 840
dernier inscrit
SamynoT