XL 2013 Répartition classes école élémentaire

ExploitedSkulls

XLDnaute Nouveau
Bonjour,

Je tente actuellement de préparer la prochaine rentrée scolaire en créant un fichier Excel permettant de réaliser la répartition des classes.
J'avoue qu'ici je sèche complétement sur l'algorithme....

La problématique :
J'ai 5 niveaux (CP-CE1-CE2-CM1-CM2) avec un certain effectif pour chaque.
J'aimerais créer un fichier qui me donne toutes les combinaisons possibles en respectant un certain nombre de critères :
- Nombre de classes : 7 (ce chiffre ne peux pas bouger)
- Effectif max par classe X (variable)
- Effectif min par classe Y (variable)
- Gestion des simples et des doubles niveaux (pas de triple niveaux)
- Un double niveaux ne peut être réalisé qu'avec un niveau adjacent (pas de double niveau CP/CM2, on autorise uniquement CP/CE1, CE1/CE2, CE2/CM1, CM1/CM2.)
- Un double niveau n'est pas forcément unitaire : on peut créer une classe CP/CE1 et une classe CE1. On peut également créer CP/CE1 et CP/CE1. Ou encore CP/CE1 et CE1/CE2.
- Un simple niveau n'est pas forcément unitaire : on peut avoir 2 classes de CP ou plus.
- Un double niveau ne doit pas contenir plus d'élèves qu'un simple niveau associé


J'ai tenté de trouver un fichier tout fait sur le net mais sans succès concernant la gestion des doubles niveaux qui je dois l'avouer, complexifie la donne.

Je ne vois pas de contraintes technique à la réalisation d'un tel outil mais l'algorithme dépasse mes compétences.
Une idée de comment je pourrais réaliser cela ?

Merci d'avance,

Exploited
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Bonjour Exploited
Pour débuter:
Créer une feuille avec la liste des élèves avec leur niveau
sélectionner un niveau ,voir si multiple du max
si oui créer le nombre de classes niveau unique avec le max
noter les restants
même chose avec chaque niveau
ensuite ajuster avec les restants (en veillant a avoir des classes > mini)
pour finir peaufiner pour n'avoir pas trop d’écart de nombre dans chaque classe
On pourra t'aider si tu peux présenter un début de fichier exemple
 

ExploitedSkulls

XLDnaute Nouveau
Bonjour Exploited
Pour débuter:
Créer une feuille avec la liste des élèves avec leur niveau
sélectionner un niveau ,voir si multiple du max
si oui créer le nombre de classes niveau unique avec le max
noter les restants
même chose avec chaque niveau
ensuite ajuster avec les restants (en veillant a avoir des classes > mini)
pour finir peaufiner pour n'avoir pas trop d’écart de nombre dans chaque classe
On pourra t'aider si tu peux présenter un début de fichier exemple

Bonjour,

Merci pour cette réponse rapide.
En PJ la ou j'en suis, c'est à dire pas bien avancé.
L'algorithme me pose de réel problème.

Dois-je commencer par lister toutes les propositions pour ensuite retirer celles qui ne correspondent pas aux critères ?
Ou bien
Est-il plus facile de n'écrire que les propositions qui conviennent. (Je pars sur cette solution dans le fichier)

Mais à chaque ligne de code je m'aperçois qu'un test manque pour pallier à toutes les situations.
Comment intégrer le nombre max de classe dans l'algorithme ?

Bref je suis perdu sur l'approche du problème.
 

Pièces jointes

  • test classe.xlsm
    19 KB · Affichages: 19

JBARBE

XLDnaute Barbatruc
Bonjour à tous, toutes,
As-tu cherché sur le web ici :
Ce lien n'existe plus
Certes, tu n'auras sans doute pas l'exactitude de tes demandes, mais il peut avoir un début de développement du logiciel !
Bon courage et bonne journée !
 

ExploitedSkulls

XLDnaute Nouveau
Bonjour à tous, toutes,
As-tu cherché sur le web ici :
Ce lien n'existe plus
Certes, tu n'auras sans doute pas l'exactitude de tes demandes, mais il peut avoir un début de développement du logiciel !
Bon courage et bonne journée !

J'ai effectivement effectué quelques recherches avant de poster sur le forum.
Sans grand succès je dois bien l'avouer, la gestion des doubles niveaux complexifie (pour moi) énormément la donne.
 

pierrejean

XLDnaute Barbatruc
Re
J'ai un peu avancé sur le problème
Algorithme
Observer les 2 premiers niveaux
Si besoin d'une classe double niveau la créer (somme des effectifs > 2 fois l'effectif max )
sinon harmoniser puis passer au 3 niveau et observer avec niveau suivant
si somme des effectifs > 2 fois effectif max <3 fois effectif max
repartir les classes dans 2 niveau unique et un niveau double

Je n'ai pas traité la somme des effectifs > 3 fois l'effectif max
Je te suggère de voir le fichier joint et on en reparle (macro essai module2)
 

Pièces jointes

  • test classe.xlsm
    22.3 KB · Affichages: 14

ExploitedSkulls

XLDnaute Nouveau
Re
J'ai un peu avancé sur le problème
Algorithme
Observer les 2 premiers niveaux
Si besoin d'une classe double niveau la créer (somme des effectifs > 2 fois l'effectif max )
sinon harmoniser puis passer au 3 niveau et observer avec niveau suivant
si somme des effectifs > 2 fois effectif max <3 fois effectif max
repartir les classes dans 2 niveau unique et un niveau double

Je n'ai pas traité la somme des effectifs > 3 fois l'effectif max
Je te suggère de voir le fichier joint et on en reparle (macro essai module2)

Je regarde ça de suite et reviens vers vous
 

ExploitedSkulls

XLDnaute Nouveau
Re bonjour,

J'avais repris mon premier fichier pour partir sur un raisonnement similaire : sommes des effectifs > 2 fois l'effectif max
(Voir PJ).
Mais je n'ai pas réussi à avancer bien loin je l'avoue.

Je me suis penché sur le cas ou l'effectif serait supérieur à 3 fois l’effectif max, pour moi se sont des cas à la marge qui ne nécessitent pas d'être intégrés pour le moment. En tout cas je suis partie sur une exclusion de ce cas.


Si je comprends bien votre fichier, vous partez sur une "matrice" ? (Les cours de maths sont loins olala :) )
Je ne connais pas Redim et LBound/Ubound mais j'ai rapidement jeté un œil au documentation Online :
Cela semble interressant.

J'ai tout de même du mal à comprendre le résultat de l’exécution de votre code :
- La première classe est une classe de CP pure à 24 élèves (OK conforme aux critères)
- La seconde classe est une classe de CE1 pure à 24 élèves : impossible vu que l'effectif CE1 pur n'est que de 18 élèves. J'imagine qu'il s'agit donc des 6 CP restants ? Dans ce cas il s'agit d'un double niveau CP/CE1 à 24 non ?
- Les 34 CM2 à placer ne rentre plus dans les critères. en partant sur 7 classes, il faudrait 2 classes de CM2 pures à 17 élèves chacune.
 

Pièces jointes

  • test algo.xlsm
    17.7 KB · Affichages: 11

ODVJ

XLDnaute Impliqué
Bonsoir à tous,

Quand l'algo n'est pas simple, on peut chercher à laisser travailler le solveur d'excel.
Voici quelques solutions issues de ses cogitations (en simplexe) :
1034681


Il y a 9 types de classes possibles.
Pour chaque classe mixte, il y a la répartition entre ses niveaux.
Les colonnes de gauche sont les écritures en base 2 des nombres de 0 à 511 (pour 2^9-1) contenant 7 uns (pour 7 classes) pour lesquelles le solveur à trouvé une solution.
Certaines sont mal formées mais d'autres sont ok.
Je n'ai pas cherché à éliminer celles qui n'étaient pas cohérentes (cas d'une classe mixte ne contenant qu'un seul niveau)

Cordialement
 

ExploitedSkulls

XLDnaute Nouveau
Bonsoir à tous,

Quand l'algo n'est pas simple, on peut chercher à laisser travailler le solveur d'excel.
Voici quelques solutions issues de ses cogitations (en simplexe) :
Regarde la pièce jointe 1034681

Il y a 9 types de classes possibles.
Pour chaque classe mixte, il y a la répartition entre ses niveaux.
Les colonnes de gauche sont les écritures en base 2 des nombres de 0 à 511 (pour 2^9-1) contenant 7 uns (pour 7 classes) pour lesquelles le solveur à trouvé une solution.
Certaines sont mal formées mais d'autres sont ok.
Je n'ai pas cherché à éliminer celles qui n'étaient pas cohérentes (cas d'une classe mixte ne contenant qu'un seul niveau)

Cordialement

Hum très interressant.
Pourrais-je voir votre définition du problème dans le solveur pour arriver à ce résultat ?
 

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 203
Membres
102 818
dernier inscrit
NeoMaint