Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Répartition d'élèves en groupes selon des préférences

monkey.be

XLDnaute Nouveau
Bonjour tout le monde,

Je découvre ce forum et je vois qu'il existe une super entreaide.

Alors voilà, je vous expose mon problème.


Je suis professeur dans une école qui organiser des activités dans ses heures de cours. Concrètement, nous avons 650 élèves qui ont la possibilité de s'inscrire dans 30 ateliers différents selon leurs préférences. Chaque élève possède 4 choix de préférence.

Il me faudrait un outil me permettant d'assigner chaque élève dans chaque atelier selon leurs préférences (qui ont évidemment, selon l'atelier, un effectif maximum).

Je peux sortir un fichier source reprenant les noms des élèves ainsi que chacun de leurs choix (Choix 1, Choix 2, Choix 3 et Choix 4).

Est-ce que quelqu'un pourrait m'aider ?

Merci d'avance
 

Dudu2

XLDnaute Barbatruc
Bonjour,
Cher professeur, ce forum fera tout pour aider un enseignant, j'en suis sûr.
Envoie ton fichier avec les noms des élèves anonymisés d'une manière ou d'une autre.
Si tu ne peux pas anonymiser 650 noms, envoie-moi le fichier en mail privé en cliquant sur mon pseudo.
 

monkey.be

XLDnaute Nouveau
Bonjour,

Merci beaucoup pour la réponse super rapide Normalement je suis plutôt bon en Excel mais là je bloque

Voici le fichier qui ressortira de mon système avec le choix des élèves. J'ai anonymiser le noms des élèves, c'est assez basique Il faudrait simplement les répartirs dans les 30 ateliers (max 26 élèves par atelier) selon leur choix

1000 mercis,
 

Pièces jointes

  • Choix des élèves.xlsx
    15.8 KB · Affichages: 33

Dudu2

XLDnaute Barbatruc
Ok, je vais regarder demain.
Déjà faudrait passer ce tableau en tableau structuré.
Après faudra voir quelles listes (croisées) (sous forme de ListBoxes) sont utiles pour gérer cette affectation correctement.
 

Dudu2

XLDnaute Barbatruc
Ton truc est un vrai casse-tête de Recherche Opérationnelle !
En partant d'un fichier comme celui-ci, que te faut-il ?

Tel que présenté, il y a des ateliers qui ont plus d'élèves que de places disponibles.
Il y a donc des corrections / ajustements à faire. Je suppose manuellement.
Que te faut-il comme interface de modification des Ateliers et des Élèves ?
>> Par Atelier:
- la liste des élèves
- la possibilité d'ajouter un élève n'ayant pas tous ses ateliers et ayant exprimé ce choix si l'atelier a de la disponibilité
- la possibilité de supprimer un élève
>> par Élève:
- la liste des ateliers
- la possibilité d'ajouter un atelier ayant de la disponibilité parmi les choix exprimés par l'élève
- la possibilité de supprimer un atelier

Autre question...
Est-il possible pour un élève d'avoir plusieurs fois le même choix d'atelier dans ses préférences ?
 
Dernière édition:

GALOUGALOU

XLDnaute Accro
bonsoir monkey.be, bonsoir dudu, bonsoir le forum
une solution en vba
dans la feuille Atelier, un bouton mise à jour déclenche une macro qui disperse les élèves sur tous les ateliers.
Dans la feuille d'origine, si un élève reçoit une affectation son nom et son choix se colore de jaune. conclusion. si un élève n'a pas d'affectation son nom reste dans une cellule de couleur blanche.
Je vous joins deux classeurs. Le premier avec vos affectations. Le deuxième avec un test de surnombre pour vérifier le bon fonctionnement de la problématique.
une des macros
VB:
Sub atelier1()
Dim F1 As Worksheet, F2 As Worksheet
Set F1 = Sheets("Base")
Set F2 = Sheets("Atelier")
Application.ScreenUpdating = False
F1.Select
    Columns("B:F").Select
    With Selection.Interior
        .Pattern = xlNone
         .TintAndShade = 0
              .PatternTintAndShade = 0
                  End With
F2.Select
    With F2
  
           .Range("B3:AE1000").ClearContents
            lig1 = F1.Cells(F1.Rows.Count, 2).End(xlUp).Row
             For x = 4 To lig1
              For col = 2 To 32
               y = .Cells(.Rows.Count, col).End(xlUp).Row + 1
                If .Cells(.Rows.Count, col).End(xlUp).Row < 28 Then
                     If F1.Cells(x, 3).Value = .Cells(2, col).Value Then
                            .Cells(y, col) = F1.Cells(x, 2)
                                F1.Cells(x, 2).Interior.Color = vbYellow
                                    F1.Cells(x, 3).Interior.Color = vbYellow
                          End If
                        End If
                Next col
            Next x
        End With
  Application.ScreenUpdating = True
End Sub

cdt
galougalou
 

Pièces jointes

  • Choix des élèves test surnombre.xlsm
    33.8 KB · Affichages: 33
  • Choix des élèves version ok.xlsm
    38 KB · Affichages: 43
Dernière édition:

Dudu2

XLDnaute Barbatruc
J'ai procédé de manière un peu différente en utilisant un formulaire qui permet de gérer les Ateliers et leurs listes d'Élèves (double-cliquer dans les Ateliers)

Un formulaire similaire peut être ajouté pour gérer les Élèves et leurs listes d'Ateliers (à développer si besoin).
 

monkey.be

XLDnaute Nouveau
Dans la recopie des choix préférentiels vers les ateliers assignés j'ai supprimé les choix en doublon.
Merci beaucoup !

Pour répondre à tes questions plus haut, chaque élève ne peut être inscrit que dans 1 seul atelier, suivant ses préférences.
Il est bien sûr possible que les ateliers soient déjà complets et qu'un élève se retrouve sans atelier. Dans ce cas, il s'agira d'un travail manuel de mon équipe pour le placer dans un atelier avec des places disponibles.

Je pense qu'il faudrait dans un premier temps classes les élèves dans un ordre aléatoire (pour ne pas privilégier l'ordre alphabétique ou l'ordre d'inscription). Ensuite, les placer, suivant cet ordre aléatoire, dans l'atelier de leur premier choix.

Pour les élèves plus bas dans a la liste, si l'atelier de leur premier choix est complet, il faut les inscrire dans l'atelier de leur second choix. Etc, etc.

J'espère que c'est plus clair
 

GALOUGALOU

XLDnaute Accro
re monkey.be
le classeur que je vous ai proposé répond parfaitement à la problématique comme énoncé dans votre fil 10
vous pouvez vérifier dans le classeur Choix des élèves test surnombre, que lorsque le nombre limite de 26 élèves est atteint, c'est le choix 2 qui est privilégié, et ainsi de suite pour tous les ateliers.

cdt
 
Dernière édition:

monkey.be

XLDnaute Nouveau
Génial, je télécharge et je teste ça
1000 mercis encore !!!
 

monkey.be

XLDnaute Nouveau
Ca m'a l'air parfait. J'ai 650 élèves à placer, que dois-je faire pour étendre la macro à 650 lignes plutôt que 250 ? Egalement, certains ateliers peuvent acceuillir 26 élèves, d'autres 39, d'autres 13. En gros, ce n'est pas uniforme. Faut-il modifier quelque chose ?

Merci !
 

GALOUGALOU

XLDnaute Accro
re
Pour le nombre d'élèves aucune limite la macro s'adaptera, mais pour des limites différentes selon les ateliers là, pour l'instant ça coince, il va falloir adapter la macro. je réflèchi et j'essaye de trouver une solution
cdt
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…