Envoyé par
LentilleLocale
1) Le code 1 avec CreateObject (Temps de traitement 1 minute 15 pour 4 fichiers lus) : le code des fichiers lus est exécuté (workbook_open et workbook_before close)
2) Le code 2 avec Set Wk ( (Temps de traitement 5 minutes 12 pour 4 fichiers lus) : le code des fichiers lus n' est pas exécuté (ce que je souhaite)
Cependant le traitement est 5 fois plus long que par CreateObject
3) et le code contenu dans chaque Fichier appelé dans ThisWorbook et que je ne veux pas voir s'exécuter lors de l'appel depuis le fichier de synthèse (hors, à mon gd désespoir, le userform se lance dans le 1er code à l'ouverture et, lors de la fermeture du fichier, on tombe en erreur car je n'ai pas Hyperion installé chez moi contrairement au bureau (ESSEXCLN.xll Erreur 53)
En résumé :
1) comment optimiser le temps d'exécution du 2ème code (5 fois plus lent que le 1er code mais n'exécute pas, comme souahité, les macros des fichiers appelés) --> Peut-être en forçant l'exécution dans une 2ème instance d'Excel ?
2) comment empêcher l'exécution des macros à l'ouverture et à la fermeture des fichiers appelés pour le 1er code (qui est 5 fois plus rapide que le 1er)
Avec le code 3, ouvrant une 2ème instance excel, j'obtiens une performance identique au 1er code mais les macro se lancent encore malgré le xlApp.EnableEvents = False
Mais pourquoi donc ????