ZZR09
XLDnaute Occasionnel
Bonjour le forum,
je viens vers vous avec une question qui me travaille depuis longtemps maintenant. j'ai contourné le problème mais n'ai pas réussi à le résoudre.
voici les faits:
dans une université, j'ai différents enseignants qui interviennent dans plusieurs activités et dans différents lieux (un lieu + une activité + un horaire = un créneau) un enseignant a donc un ou plusieurs créneaux à sa charge.
Les étudiants peuvent s'inscrire dans différents créneaux. je récupère cette base de données dans une feuille Excel ("Extract_S1").
j'ai un programme VBA qui récupère les données dans cette feuille excel et qui envoie les listes d'appel à chacun des enseignants (un enseignant peut avoir une ou plusieurs listes : une par créneau). Chaque classeur est ainsi au nom de l'enseignant et contient autant de feuilles que cet enseignant a de créneau (+ les 3 par défaut).
ce programme fonctionne ainsi:
- tri de la base de données (BD) par enseignant, par jour et par heure de début de l'activité.
- repérer la plage de données pour un enseignant et créer un fichier à son nom.
- dans cette plage de données, le programme détecte le changement de jour et d'heure (en d'autre termes, du créneau) et copie le nom des étudiants inscrits dans ce créneau dans un modèle de feuillle d'appel, cette feuille d'appel est renommée et déplacée dans le fichier au nom de l'enseignant.
c'est cette étape qui pose problème !
en effet, voici le problème :
après avoir créé plusieurs feuilles et enregistré quelques fichiers, la macro bloque sur l'instruction 'Move' .
à ce moment, si vous faites 'débogage', la ligne précédente contient un compteur de feuilles créées. je me suis rendu compte que,lors d'une session Windows, le programme s'arrête toujours sur la même feuille mais que ce nombre varie d'une session windows à une autre! et cela sur différents PC.
d'autre part, c'est toujours loin des 256 feuilles théoriquement diponibles dans un classeur.
j'ai bien réussi à contourner le problème mais je souhaiterai le résoudre une bonne fois pour toute ... et surtout : essayer de le comprendre.
J'espère avoir été assez clair dans mes explications et bien évidemment, je suis parfaitement conscient de la difficulté de substitution que représente la simple tentative de compréhension d'un programme qui a sa logique et ses (multiples) imperfections. Autrement dit, de la difficulté pour s'immiscer dans un programme que l'on n’a pas conçu.
si vous avez un peu de temps, vous pouvez tester ce programme à cliquant sur le nuage, sur le bouton "répartition" et en indiquant un dossier temporaire de travail.
Si vous avez des idées sur l'origine de mon problème ... et pourquoi pas, des solutions, je suis preneur.
Au cas où je ne serai pas très clair, je me ferai une plaisir de répondre à d'éventuelles questions.
et Merci pour m'avoir lu jusque là!!!
voici ci-joint un lien vous permettant d'accéder à ce fichier (trop volumineux pour être joint à ce post).
Ce lien n'existe plus
je viens vers vous avec une question qui me travaille depuis longtemps maintenant. j'ai contourné le problème mais n'ai pas réussi à le résoudre.
voici les faits:
dans une université, j'ai différents enseignants qui interviennent dans plusieurs activités et dans différents lieux (un lieu + une activité + un horaire = un créneau) un enseignant a donc un ou plusieurs créneaux à sa charge.
Les étudiants peuvent s'inscrire dans différents créneaux. je récupère cette base de données dans une feuille Excel ("Extract_S1").
j'ai un programme VBA qui récupère les données dans cette feuille excel et qui envoie les listes d'appel à chacun des enseignants (un enseignant peut avoir une ou plusieurs listes : une par créneau). Chaque classeur est ainsi au nom de l'enseignant et contient autant de feuilles que cet enseignant a de créneau (+ les 3 par défaut).
ce programme fonctionne ainsi:
- tri de la base de données (BD) par enseignant, par jour et par heure de début de l'activité.
- repérer la plage de données pour un enseignant et créer un fichier à son nom.
- dans cette plage de données, le programme détecte le changement de jour et d'heure (en d'autre termes, du créneau) et copie le nom des étudiants inscrits dans ce créneau dans un modèle de feuillle d'appel, cette feuille d'appel est renommée et déplacée dans le fichier au nom de l'enseignant.
c'est cette étape qui pose problème !
en effet, voici le problème :
après avoir créé plusieurs feuilles et enregistré quelques fichiers, la macro bloque sur l'instruction 'Move' .
à ce moment, si vous faites 'débogage', la ligne précédente contient un compteur de feuilles créées. je me suis rendu compte que,lors d'une session Windows, le programme s'arrête toujours sur la même feuille mais que ce nombre varie d'une session windows à une autre! et cela sur différents PC.
d'autre part, c'est toujours loin des 256 feuilles théoriquement diponibles dans un classeur.
j'ai bien réussi à contourner le problème mais je souhaiterai le résoudre une bonne fois pour toute ... et surtout : essayer de le comprendre.
J'espère avoir été assez clair dans mes explications et bien évidemment, je suis parfaitement conscient de la difficulté de substitution que représente la simple tentative de compréhension d'un programme qui a sa logique et ses (multiples) imperfections. Autrement dit, de la difficulté pour s'immiscer dans un programme que l'on n’a pas conçu.
si vous avez un peu de temps, vous pouvez tester ce programme à cliquant sur le nuage, sur le bouton "répartition" et en indiquant un dossier temporaire de travail.
Si vous avez des idées sur l'origine de mon problème ... et pourquoi pas, des solutions, je suis preneur.
Au cas où je ne serai pas très clair, je me ferai une plaisir de répondre à d'éventuelles questions.
et Merci pour m'avoir lu jusque là!!!
voici ci-joint un lien vous permettant d'accéder à ce fichier (trop volumineux pour être joint à ce post).
Ce lien n'existe plus