IFA
XLDnaute Nouveau
Bonjour à toute la communauté,
Je débute depuis un an en VBA (autodidacte et lectures...). J'ai déjà réussi quelques prouesses (enfin, pour moi), notamment avec de l'API, des roulement sur calendriers etc...
Mais cette fois je me suis lancé dans un challenge qui me dépasse, je ne sais même pas par où commencer...
L'idée:
Nous assurons des ateliers pour nos étudiants plusieurs fois dans l'année et à chaque fois c'est une galére de réaliser ça à la main, tellement il y a de contraintes... Je me suis donc dit qu'il y avait peut-être moyen d'optimiser ça en code VBA ?
Voilà l'idée (tableau et exemple joint):
Contraintes: Rotation sur 3 ateliers (2 pour lesquels les étudiants ont travaillés en groupes (G1/G2 à respecter) et un troisieme ou ils passent seuls quel que soit leur groupe)
Atelier 1 : étudiants 2 par 2 en respectant les groupes - les 2 étudiants sont libérés 45 min plus tard: 2 autres arrivent.
Atelier 2: 3 étudiants à 8h00, puis 1 étudiants arrive à 9h qui libère le premier des 3 étudiants, puis un nouvel étudiant arrive toutes les 30 min en libérant le plus ancien sur place... Respect des groupes. Après la pause du midi les contraintes sont les mêmes (3 puis 1...)
Atelier 3: Aucune contrainte de groupe, étudiants 1 par 1, durée 15 min
Mais contrainte supplémentaire: l'atelier 2 se situe sur un autre campus, il nécessite 15 min de trajet (dans un sens comme dans un autre), les ateliers 1 et 3 se situent au même endroit..
Les étudiants ne sont pas obligés de respecter l'ordre (1,2,3) tout est possible: (1,3,2/2,1,3/2,3,1/1,2,3/,3,2,1/3,1,2)
L'utilité de cette rotation étant d'avoir un étudiant qui passe le moins de temps possible sur le campus à partir du moment où il à commencé un atelier...
Le mieux serait un tout automatique, mais il est aussi possible de partir du tableau 2 rempli pour extrapoler les 2 autres...
J'imagine que tout ça parait chinois, mais c'est un peu plus clair sur le tableau et avec l'exemple...
Si jamais quelqu'un avait une idée de comment démarrer, ou faire ça, ou même un bout de code dans ce sens, je suis preneur...
Je vous remercie par avance de vos suggestions et vous souhaite un joyeux dimanche.
Manu
Je débute depuis un an en VBA (autodidacte et lectures...). J'ai déjà réussi quelques prouesses (enfin, pour moi), notamment avec de l'API, des roulement sur calendriers etc...
Mais cette fois je me suis lancé dans un challenge qui me dépasse, je ne sais même pas par où commencer...
L'idée:
Nous assurons des ateliers pour nos étudiants plusieurs fois dans l'année et à chaque fois c'est une galére de réaliser ça à la main, tellement il y a de contraintes... Je me suis donc dit qu'il y avait peut-être moyen d'optimiser ça en code VBA ?
Voilà l'idée (tableau et exemple joint):
Contraintes: Rotation sur 3 ateliers (2 pour lesquels les étudiants ont travaillés en groupes (G1/G2 à respecter) et un troisieme ou ils passent seuls quel que soit leur groupe)
Atelier 1 : étudiants 2 par 2 en respectant les groupes - les 2 étudiants sont libérés 45 min plus tard: 2 autres arrivent.
Atelier 2: 3 étudiants à 8h00, puis 1 étudiants arrive à 9h qui libère le premier des 3 étudiants, puis un nouvel étudiant arrive toutes les 30 min en libérant le plus ancien sur place... Respect des groupes. Après la pause du midi les contraintes sont les mêmes (3 puis 1...)
Atelier 3: Aucune contrainte de groupe, étudiants 1 par 1, durée 15 min
Mais contrainte supplémentaire: l'atelier 2 se situe sur un autre campus, il nécessite 15 min de trajet (dans un sens comme dans un autre), les ateliers 1 et 3 se situent au même endroit..
Les étudiants ne sont pas obligés de respecter l'ordre (1,2,3) tout est possible: (1,3,2/2,1,3/2,3,1/1,2,3/,3,2,1/3,1,2)
L'utilité de cette rotation étant d'avoir un étudiant qui passe le moins de temps possible sur le campus à partir du moment où il à commencé un atelier...
Le mieux serait un tout automatique, mais il est aussi possible de partir du tableau 2 rempli pour extrapoler les 2 autres...
J'imagine que tout ça parait chinois, mais c'est un peu plus clair sur le tableau et avec l'exemple...
Si jamais quelqu'un avait une idée de comment démarrer, ou faire ça, ou même un bout de code dans ce sens, je suis preneur...
Je vous remercie par avance de vos suggestions et vous souhaite un joyeux dimanche.
Manu