Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Répartir élèves internat dans des chambres

5 réponses
Avatar
L-A
Bonsoir

avec une liste d'=C3=A9l=C3=A8ves comportant sexe, nom, pr=C3=A9nom et clas=
se, je souhaiterai repartir ces =C3=A9l=C3=A8ves dans des chambres=20

les gar=C3=A7ons d'un cot=C3=A9 et les filles de l'autre

les chambres ont 4 lits et les =C3=A9l=C3=A8ves de la meme classe doivent =
=C3=AAtre regroup=C3=A9 au maximum dans la meme chambre

je fais actuellement =C3=A0 la main mais c'est tres chronophage et tres lon=
g

merci de m'aider dans ma demande.

un petit fichier en exemple ( nota dans mon exemple je n'ai mis que quelque=
s =C3=A9l=C3=A8ves car en r=C3=A9el j'en suis =C3=A0 plus de 650)

https://www.cjoint.com/c/JJwtj2t5hF7

5 réponses

Avatar
MichD
Le 22/10/20 à 15:10, L-A a écrit :
Bonsoir
avec une liste d'élèves comportant sexe, nom, prénom et classe, je souhaiterai repartir ces élèves dans des chambres
les garçons d'un coté et les filles de l'autre
les chambres ont 4 lits et les élèves de la meme classe doivent être regroupé au maximum dans la meme chambre
je fais actuellement à la main mais c'est tres chronophage et tres long
merci de m'aider dans ma demande.
un petit fichier en exemple ( nota dans mon exemple je n'ai mis que quelques élèves car en réel j'en suis à plus de 650)
https://www.cjoint.com/c/JJwtj2t5hF7

Bonjour,
Vous faites de la discrimination! ;-)
Voici ton fichier : https://www.cjoint.com/c/JJwvF27m3Lq
La macro est dans le module de la feuille "Feuil1".
MichD
Avatar
MichD
Retiens ce fichier, une correction a été apportée.
https://www.cjoint.com/c/JJwwjUpiIyq
Selon test critères, tu auras des chambres où il n'y a pas 4 étudiants.
MichD
Avatar
MichD
Le 22/10/20 à 18:11, MichD a écrit :
Retiens ce fichier, une correction a été apportée.
https://www.cjoint.com/c/JJwwjUpiIyq
Selon test critères, tu auras des chambres où il n'y a pas 4 étudiants.
MichD

J'ai ajouté une colonne au tableau des résultats afin de t'y retrouver.
https://www.cjoint.com/c/JJwwqokawLq
MichD
Avatar
L-A
Le vendredi 23 octobre 2020 à 00:17:18 UTC+2, MichD a écrit  :
Le 22/10/20 à 18:11, MichD a écrit :
Retiens ce fichier, une correction a été apportée.
https://www.cjoint.com/c/JJwwjUpiIyq
Selon test critères, tu auras des chambres où il n'y a pas 4 étudiants.
MichD
J'ai ajouté une colonne au tableau des résultats afin de t'y re trouver.
https://www.cjoint.com/c/JJwwqokawLq
MichD

Bonjour MichD
Merci beaucoup, cela marche parfaitement sur l'ordi du boulot
sur mon mac j'ai une erreur 400 mais c'est pas grave, j'emprunte le pc du f ils.
bref pour dire que tout est nickel
une petite question, que veux dire le redim et au lieu des classes, est ce que je peux mettre la valeur d'un range car mes classes ont des noms bizarr es ( 2039-BTS-PTR etc etc)
si c'est pas jouable c'est pas grave, je m'adapterai
Avatar
MichD
Le 23/10/20 à 12:46, L-A a écrit :
Le vendredi 23 octobre 2020 à 00:17:18 UTC+2, MichD a écrit :
Le 22/10/20 à 18:11, MichD a écrit :
Retiens ce fichier, une correction a été apportée.
https://www.cjoint.com/c/JJwwjUpiIyq
Selon test critères, tu auras des chambres où il n'y a pas 4 étudiants.
MichD

J'ai ajouté une colonne au tableau des résultats afin de t'y retrouver.
https://www.cjoint.com/c/JJwwqokawLq
MichD

Bonjour MichD
Merci beaucoup, cela marche parfaitement sur l'ordi du boulot
sur mon mac j'ai une erreur 400 mais c'est pas grave, j'emprunte le pc du fils.
bref pour dire que tout est nickel
une petite question, que veux dire le redim et au lieu des classes, est ce que je peux mettre la valeur d'un range car mes classes ont des noms bizarres ( 2039-BTS-PTR etc etc)
si c'est pas jouable c'est pas grave, je m'adapterai

Bonjour,
Je n'ai jamais ouvert Excel sur un Mac. Il est difficile pour moi, de
savoir ce qu'il n'aime pas!
ReDim Preserve T(1 To A)
Dans cette ligne de code, "Redim Preserve" permet de redimensionner le
tableau chaque fois que j'entre une valeur. Comme je sais que ce tableau
ne contiendra jamais plus de 4 noms d'étudiant à la fois, j'aurais pu
déclarer au début de la procédure, Dim T(1 to 4) et oublier dans le code
cette ligne de code. C'est une question d'habitude...
D'après le tableau de ton exemple, les valeurs des classes ont des
doublons. Les doublons ne peuvent pas apparaître dans le tableau (array)
Pour ce qui est de ceci : Classe = Array(1, 2, 3)
Tu pourrais utiliser ceci à la place
Classe = Array("2039-BTS-PTR", "toto12345", "loto_gagner_123")
OU tu peux utiliser l'exemple de ce fichier où tout est automatisé.
Les classes sont présentées par ordre alphanumérique croissant.
https://www.cjoint.com/c/JJxsHkWs3ro
MichD