Hello tout le monde,
Je préfère prévenir, quitte à me tirer une balle dans le pied, le sujet est prise de tête, LOL.
J'ai 3 fichiers, A, B et C qui me permettent de suivre des évènements sur des équipements tout au long de l'année.
Dans chacun de ces fichiers j'ai écris des zolies macros pour simplifier la tache à chacun de mes utilisateurs.
J'ai créé des liens dans ces macros pour pouvoir copier, lorsque l'utilisateur coche une checkbox, le dit évènement dans un des autres fichiers. En d'autres termes:
Si fichier A est en cours de saisie et que l'utilisateur coche fichier B alors à la fin de la saisie dans fichier A, le fichier B s'ouvre avec les éléments déjà renseignés dans le fichier A qui peuvent alors éventuellement être modifiés et/ou complétés par le même utilisateur
Si fichier B est en cours de saisie et que l'utilisateur coche fichier A alors à la fin de la saisie dans fichier B, le fichier A s'ouvre avec les éléments déjà renseignés dans le fichier B qui peuvent alors peuvent éventuellement être modifiés et/ou complétés par le même utilisateur
Si fichier C est en cours de saisie et que l'utilisateur coche fichier B alors à la fin de la saisie dans fichier A, le fichier B s'ouvre avec les éléments déjà renseignés dans le fichier A qui peuvent alors peuvent éventuellement être modifiés et/ou complétés par le même utilisateur
etc... avec les autres cas possible.
Jusque là tout va bien pour mes macros, elles fonctionnent bien : pas de problème.
Par contre, dès l'instant où l'utilisateur coche les deux fichiers, la macro ne traitent que la première checkbox rencontrée dans ma ligne de code et s'arrête une fois le fichier associé traité.
C'est comme si excel sortait de la macro du fichier en cours de saisi, traite le fichier destination et ne revient pas dans le fichier d'origine pour finir de lire le reste de mon code.
Exemple:
Comportement attendu:
Fichier A ouvert et en cours de saisi, checkbox fichier B et C cochée.
Fin de traitement du fichier A, ouverture et traitement du fichier B.
Fin de traitement du fichier B, fermeture du fichier B,
Ouverture et traitement du fichier C.
Fin de traitement du fichier C, fermeture du fichier C et retour dans fichier A qui n'avait pas été fermé.
Comportement réalisé:
Cas 1
Fichier A ouvert et en cours de saisi, une seule checkbox cochée = fichier B.
Fin de traitement du fichier A, ouverture et traitement du fichier B.
Fin de traitement du fichier B, fermeture du fichier B,
Retour dans fichier A qui n'avait pas été fermé
Cas 2
Fichier A ouvert et en cours de saisi, une seule checkbox cochée = fichier C.
Fin de traitement du fichier A, ouverture et traitement du fichier C.
Fin de traitement du fichier C, fermeture du fichier C,
Retour dans fichier A qui n'avait pas été fermé.
Cas 3
Fichier A ouvert et en cours de saisi, checkbox fichier B et C cochées.
Fin de traitement du fichier A, ouverture et traitement du fichier B.
Fin de traitement du fichier B, fermeture du fichier B,
Retour dans fichier A qui n'avait pas été fermé
J'imagine à quel point cela doit être compliqué à interpréter mais si une bonne âme a une idée pour qu'à partir du fichier B je revienne dans le fichier A pour interpréter le reste de mon code, je lui serais vraiment très reconnaissant.
Ça fait 3 jours que je suis dessus et je ne sais pas quoi faire.
En attendant une bonne idée, je continue de me gratter la tête et de faire des tests.
Je préfère prévenir, quitte à me tirer une balle dans le pied, le sujet est prise de tête, LOL.
J'ai 3 fichiers, A, B et C qui me permettent de suivre des évènements sur des équipements tout au long de l'année.
Dans chacun de ces fichiers j'ai écris des zolies macros pour simplifier la tache à chacun de mes utilisateurs.
J'ai créé des liens dans ces macros pour pouvoir copier, lorsque l'utilisateur coche une checkbox, le dit évènement dans un des autres fichiers. En d'autres termes:
Si fichier A est en cours de saisie et que l'utilisateur coche fichier B alors à la fin de la saisie dans fichier A, le fichier B s'ouvre avec les éléments déjà renseignés dans le fichier A qui peuvent alors éventuellement être modifiés et/ou complétés par le même utilisateur
Si fichier B est en cours de saisie et que l'utilisateur coche fichier A alors à la fin de la saisie dans fichier B, le fichier A s'ouvre avec les éléments déjà renseignés dans le fichier B qui peuvent alors peuvent éventuellement être modifiés et/ou complétés par le même utilisateur
Si fichier C est en cours de saisie et que l'utilisateur coche fichier B alors à la fin de la saisie dans fichier A, le fichier B s'ouvre avec les éléments déjà renseignés dans le fichier A qui peuvent alors peuvent éventuellement être modifiés et/ou complétés par le même utilisateur
etc... avec les autres cas possible.
Jusque là tout va bien pour mes macros, elles fonctionnent bien : pas de problème.
Par contre, dès l'instant où l'utilisateur coche les deux fichiers, la macro ne traitent que la première checkbox rencontrée dans ma ligne de code et s'arrête une fois le fichier associé traité.
C'est comme si excel sortait de la macro du fichier en cours de saisi, traite le fichier destination et ne revient pas dans le fichier d'origine pour finir de lire le reste de mon code.
Exemple:
Comportement attendu:
Fichier A ouvert et en cours de saisi, checkbox fichier B et C cochée.
Fin de traitement du fichier A, ouverture et traitement du fichier B.
Fin de traitement du fichier B, fermeture du fichier B,
Ouverture et traitement du fichier C.
Fin de traitement du fichier C, fermeture du fichier C et retour dans fichier A qui n'avait pas été fermé.
Comportement réalisé:
Cas 1
Fichier A ouvert et en cours de saisi, une seule checkbox cochée = fichier B.
Fin de traitement du fichier A, ouverture et traitement du fichier B.
Fin de traitement du fichier B, fermeture du fichier B,
Retour dans fichier A qui n'avait pas été fermé
Cas 2
Fichier A ouvert et en cours de saisi, une seule checkbox cochée = fichier C.
Fin de traitement du fichier A, ouverture et traitement du fichier C.
Fin de traitement du fichier C, fermeture du fichier C,
Retour dans fichier A qui n'avait pas été fermé.
Cas 3
Fichier A ouvert et en cours de saisi, checkbox fichier B et C cochées.
Fin de traitement du fichier A, ouverture et traitement du fichier B.
Fin de traitement du fichier B, fermeture du fichier B,
Retour dans fichier A qui n'avait pas été fermé
J'imagine à quel point cela doit être compliqué à interpréter mais si une bonne âme a une idée pour qu'à partir du fichier B je revienne dans le fichier A pour interpréter le reste de mon code, je lui serais vraiment très reconnaissant.
Ça fait 3 jours que je suis dessus et je ne sais pas quoi faire.
En attendant une bonne idée, je continue de me gratter la tête et de faire des tests.