Répartition d'un groupe en plusieurs groupes

Bonjour, je suis étudiant et je réalise en ce moment un programme qui a pour but de créer des classes dans un établissement (lambda pour l'instant).

Dans cet établissement lambda, je dispose de 298 élèves, que j'ai réussi à trier en fonction de leur âge, redoublement, saut de classe etc et que j'ai regroupé en catégories "6ème", "5ème", "4ème", "3ème".

Désormais, j'aimerais regrouper tous les 6èmes en plusieurs classes homogènes. J'ai donc fais en sorte d'avoir un maximum de 30 élèves par classe. J'ai 86 6èmes, en faisant les calculs, cela me donne 3 classes, 28 élèves par classe et un reste de 2 élèves (que je répartirai dans 2 classes pour que cela me donne une classe de 28 élève et deux classes de 29).

Mon problème commence maintenant: j'aimerais créer ensuite un tableau qui affiche automatiquement les classes en fonction du nombre de classe calculé.... Je m'explique: si j'ai 86 élèves de 6ème, alors il me suffit de faire: ARRONDI.SUP(nombre de 6ème (86)/30;0), cela me donne 3 (j'ai mon nombre de classe). Pour avoir le nombre d'élève par classe : QUOTIENT(nombre de 6ème (86)/ nombre de classe (3)), cela me donne 28. Puis pour avoir les élèves isolés: nombre de 6ème (86) - (nombre d'élève par classe (28) * nombre de classe (3)) ce qui me donne 2. voici donc le détail de ce que j'ai expliqué plus haut.

Maintenant j'aimerais qu'en fonction du nombre de classe trouvé (ici 3), cela me crée un tableau avec dans chaque colonne le nom d'une classe et le nombre d'élèves ("6ème 1" et en dessous "28 élèves", puis sur la colonne d'à côté: "6ème 2" et en dessous "29 élèves" , puis "6ème 3" et en dessous "29 élèves" (et que cela s'ajuste en fonction du nombre de classes et d'élèves etc) ).

Je suis désolé si je ne suis pas très clair, je suis clairement un grand débutant d'excel et j'essaie de me débrouiller comme je peux, mais cette fois je sèche complètement, je n'ai aucune idée de ce que je dois faire ou même si c'est réalisable d'ailleurs ...

Dans l'attente de réponses qui pourraient m'éclairer.

Bonne soirée à vous.

Bonsoir,

Quelque chose comme ça :

b9fdca6

Formule en F5 :

=SI(E5>0;ENT(E5/30)+1;0)

tirée jusqu'en F8.

Formule en G5 :

=SI($F5>=G$4;ENT($E5/$F5)+($E5-ENT($E5/$F5)*$F5>=G$4);"")

recopiée sur G5:K8.

Cordialement.

Merci pour cette réponse, cet exemple est très bien !

Maintenant est-ce possible de faire en sorte que si le nombre de classes maximum est de 3 ou bien 4, cela affiche ensuite automatiquement le même nombre de classes dans les colonnes "1","2","3","4" etc?

En espérant être clair ...

Dans l'attente de vos réponse,

Merci beaucoup.


Il faudrait en fait que ce tableau soit tout à fait autonome, je ne sais pas si c'est possible, mais si ça l'est, comment faire svp ?

Merci

Bonjour,

Le tableau est 'autonome'. Il fournit le résultat attendu en fonction des nombres saisis en colonne E... A partir du moment où ces nombres sont déterminés ailleurs, on peut bien sûr pointer vers cet ailleurs à partir de formules en E...

Je ne comprends pas ce que tu souhaites : si tu établissais un fichier pour le définir ?

Cordialement.

Bonjour,

Désolé pour le temps de réponse, je n'ai pas eu trop le temps ces derniers jours, j'étais plongé dans les révisions de mes éxams. Ceux-ci passés, et après quelques heures à avoir essayé des choses en vain, je reviens vers vous.

Je n'ai en effet pas été très clair dans ma dernière explication, je vais tenter de l'être un peu plus dans la suivante (bien que ce ne soit pas gagné étant donné que je ne sais pas comment insérer d'image dans un forum comme vous l'avez fait (je ne suis vraiment pas un habitué... ).

Donc ce que j'aimerais dans mon projet c'est que mon tableau soit autonome. En effet j'aimerais que dans votre colonne F, le nombre de classes maximum soit calculé (ici 4 en 5ème), et que selon ce nombre là, les classes en ligne 4 s'ajustent automatiquement, (ici par exemple, il y en a 5, mais ce que j'aimerais c'est qu'il y en ait le même nombre que dans la colonne F, soit 4 ici ) suis-je clair ?

Cette étape correspond à la première partie de mon projet (pour me faciliter un peu la tâche et m'habituer un peu à la formation de tableaux), par la suite j'aimerais réaliser un tableau à peu près similaire, mais pour chaque année ( 6ème, 5ème, 4ème, 3ème) et au lieu de 28,29, etc, j'aurais plutôt le nom des élèves qui s'afficherait vous comprenez ?

Je vous joins mon projet, peut être comprendrez vous un peu mieux. Il est pour l'instant encore un peu brouillon pardonnez moi (ne prenez pas en compte la feuille 2 ce n'est pas important pour le moment).

Je vous joins également ma feuille de calculs (car j'ai copié coller les données étant donné que c'était du aléa, ça changeait tout le temps ça me perturbait ), je ne suis pas sûr que ça vous serve à grand chose mais si jamais ça pouvait vous aider à comprendre un peu mieux mon raisonnement, on ne sait jamais.

Voilà j'espère avoir été plus clair, j'ai essayé de l'être en tout cas.

Dans l'attente de votre réponse,

et encore merci d'accorder un peu d'attention et de temps à mon programme.

Cordialement.

62calculs.docx (13.61 Ko)

J'ai répondu à une question consistant à calculer le nombre de classes et une répartition en nombre par classes, à partir de critères définis et d'une répartition initiale par niveaux.

Le point de départ de ce calcul peut bien sûr, à son tour, être calculé à partir des données initiales...

Je ne vois pas bien ce que tu veux de différent... Ton fichier montre une base de données élèves avec des éléments dont il apparaît que certains sont des données initiales à saisir, et d'autres, des données à calculer (affectation d'un niveau). Mais point de calcul !

La liste d'élèves d'une classe, sur une autre feuille fait appel à une formule... qui ne mérite pas de considération particulière : la formule insérée en première ligne devrait par simple recopie sur le tableau de résultats renvoyer tous les résultats cherchés, ce qui n'est manifestement pas le cas, la formule est individualisée pour chaque cas, donc ne sert à rien.

Un peu plus de précision serait nécessaire. Et une maquette conforme au projet que tu entends réaliser serait bienvenue.

Je ne vois pas bien ce que vient faire le document Word, surtout contenant des copies de formules qu'il aurait mieux valu pouvoir visualiser dans Excel. Je n'ai pas d'avis sur elles, hormis lorsque j'en vois à rallonge ! Je considère a-priori en pareil cas que l'on n'a pas fait l'effort d'analyse préalable propre à réduire la formulation... Il n'est certes pas toujours possible de réduire, c'est à voir lors de l'avancement du projet, mais il est alors souhaitable de rechercher des solutions alternatives...

Cordialement.

Je comprends bien vote message, j'essaierai ce week-end de faire un dossier de présentation de mon projet pour que vous puissiez mieux comprendre.

Désolé aussi pour ces "calculs à rallonge", mais comme je l'ai dis je suis vraiment un grand débutant d'excel, et j'ai déjà énormément ramé et pagayé pour arriver à trouver ces formules qui fonctionnent, et je ne sais pas comment les réduire... (je ne sais pas grand chose j'en suis conscient mais j'essaie de me débrouiller avec mes quelques connaissances de base, et celles que j’acquiers avec la pratique )

Je vous souhaite une agréable soirée,

A bientot

Cordialement.

Bonjour,

J'ai regardé à nouveau depuis le début mon projet et me suis aperçu que certaines erreurs étaient présentes dès le début (certains élèves étaient en 3ème alors qu'ils ne devaient pas y être etc.). J'ai donc tout recommencé depuis le début !

Je suis ensuite arrivé au tableau en question et je trouve en effet qu'il est très bien ainsi et ma seconde question n'avait donc point d'intérêt, je m'en excuse.

J'ai donc continué à chercher pour placer tous les 6èmes dans différentes classes et pour cela, après de nombreuses recherches, je suis tombé sur la formule index().

Cependant un petit problème persiste... Avec la fonction index(), j'ai réussi à placer des élèves dans des classes mais pas totalement comme il l'aurait fallu...

En effet, je possède 91 6èmes cette fois-ci, donc trois classes de 22 élèves et une de 23 élèves.

J'ai donc essayé de placer tous mes 6èmes dans 4 classes mais lorsque je descend jusque 23 élèves cela me met des élèves en double (à la fin d'une classe et au début de la classe suivante)... Je ne suis vraiment pas clair dans mes explications, je m'en excuse, je vais donc vous joindre mon travail pour une meilleure compréhension.

J'aimerais en fait que mes élèves soient placés automatiquement dans des classes, sans qu'il y ait d'élève en double mais à part en m'arrêtant moi-même, manuellement à 22, puis 22, puis 22 puis 23 je ne vois pas comment réaliser cela automatiquement sans avoir à y toucher ...

Mon dossier comporte : une première feuille intitulée "fonctions aléas" dans laquelle sont rentrés des élèves avec leur redoublement, saut de classes, age etc de façon aléatoire, ainsi que la classe à laquelle ils appartiennent.

Dans la seconde feuille appelée "feuille 1 copiée", j'ai fais un collage spécial de la première feuille afin de ne plus avoir d'aléa et ainsi pouvoir trier mes élèves.

Enfin une 3ème feuille est présente, intitulée "élèves par classe" et c'est dans cette feuille que mes fonctions index sont, et où se situe mon problème.

En espérant avoir assez détaillé pour que vous compreniez bien mon problème.

Dans l'attente de votre réponse,

Cordialement.

Bonjour,

A ce stade, l'utilisation de formules va commencer à devenir lourde : formules matricielles en nombre conséquent.

J'opterais volontiers pour une constitution par macro, dont le mérite est d'éliminer les formules et également les stades intermédiaires, pour produire directement le résultat final à partir du tableau initial.

Cordialement.

Bonjour, je ne sais pas trop créer de macros, est-ce possible de faire autrement ou bien de m'expliquer comment procéder (je ne vous demande évidement pas de faire tout le travail à ma place mais juste de m'expliquer comment procéder dans les grandes lignes, j'essaierai ensuite, peut-être qu'après quelques (nombreux ) essais je parviendrai à faire fonctionner cette macro).

Dans l'attente de votre réponse,

Cordialement.

Il faut d'abord voir que ton tableau de départ, bourré de formules incluant ALEA... doit être en fait une base de données non aléatoires et qui doivent donc être saisies.

Je ne connais pas tes données effectives de départ... s'il sagit d'une base de données élèves àun moment donné, les colonnes redoublement ou saut de classe n'ont pas vraiment lieu d'être, si la base est une prise en compte de passage d'une année à l'autre, elles se justifient (mais ce sont des données résultant de décisions extérieures) mais alors la classe année précédente devrait être mentionnée.

La nouvelle classe attribuée devrait figurer dans une seule colonne au lieu de 4.

A partir de cette base de donnée, le tableau récapitulatif de répartition par classes peut se maintenir (peu de formules, cela reste léger). Cela servira de base au dimensionnement des tableaux d'élèves répartis par classes.

Ce qu'il faut savoir, c'est la présentation souhaitée de cette répartition : une seule feuille pour lister tous les élèves par classes, une feuille par niveau, ou une feuille par classe individualisée ? Ainsi qu'éventuellement la mise en forme souhaitée.

Le principe d'une macro consiste dans tous les cas à prélever des données d'un côté, les organiser pour les poser ailleurs. Mais pour le faire concrètement, il vaut mieux savoir comment et où on va les poser !

Aucune inquiétude à avoir, c'est du classique, et le code à écrire reste réduit.

Cordialement.

Bonjour MFerrand !

Alors tout d'abord en effet, mon tableau de départ (aléa) n'est normalement pas aléatoire (Il s'agirait d'une personne qui rentrerait les informations nécessaires manuellement), mais pour l'instant ce n'est qu'un prototype, j'étais donc contraint de faire des fonctions aléas pour "créer" un collège factice avec des élèves factices, et c'est donc pour cela que je crée une autre feuille ou je retire ces fonctions aléas pour les trier.

Il s'agit bien du passage d'une année à l'autre, d'où les formules redoublement et saut de classe.

En ce qui concerne la classe à réaliser en une seule colonne, je voulais faire cela au début, cependant j'ai dû constater que (mes connaissances sur excel étant assez limitées) cela m'était impossible puisque trop de conditions devaient être prises en compte et cela m'aurait fait une formule avec des milliards de fonctions SI() ce qui n'est pas pris en compte par excel.

Pour ce qui est de la présentation de cette répartition par classes, je vous joins mon fichier pour que vous puissiez regarder un peu comment j'aimerais que ce soit organisé. En effet, j'ai créé des tableaux avec la répartition des élèves par classe sur une même feuille : "Classes (manuellement)" (la dernière feuille).

Dans cette même feuille j'ai également continué à cherché autour de la formule INDEX() pour voir, et j'ai trouvé une formule qui fonctionne très bien pour les 6èmes, 5èmes, 4èmes, mais pas pour les 3èmes. Effectivement, les 3 premiers sont dans un cas de figure particulier (plusieurs nombres d'élèves par classe maximaux puis un nombre d'élèves par classe moins grand, ex : 23/23/23/22). Alors que les 3èmes sont dans un autre cas de figure (plusieurs nombres d'élèves par classe maximaux puis plusieurs nombres d'élèves par classe moins grands, ex: 25/25/24/24). Pourriez vous me dire si cette formule est bonne à creuser également pour les 3èmes, et si elle pourrait me permettre de prendre en compte ces deux cas de figure, ou si elle n'a pas d'intérêt ?

Je vous joins mon fichier pour une compréhension plus claire de mon problème, ne prenez pas en compte les feuilles ou il y a écrit "(macro)" dedans, elles ne concernent pas notre problème, ce sont des macros que je tente de réaliser en regardant des vidéos, lisant des forums etc.

Dans l'attente de votre réponse,

Cordialement.

Bonjour,

J'ai fini ce que je voulais faire et qui me posait problème sur mon programme, merci pour l'aide apportée à mes différentes interrogations, bonne journée et bonne continuation.

Rechercher des sujets similaires à "repartition groupe groupes"