A voir également:
- Vba attendre ouverture fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
3 réponses
Merci !
Ma question était incomplète et mal posée, mais ta réponse m'a mis sur la bonne piste, en me permettant de comprendre mes erreurs.
Merci encore. Papalulu2
Ma question était incomplète et mal posée, mais ta réponse m'a mis sur la bonne piste, en me permettant de comprendre mes erreurs.
Merci encore. Papalulu2
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
1 583
peux-tu alors marquer la discussion comme résolue?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 583
bonjour,
quel genre de fichier ouvres-tu?
quel travail y fais-tu?
n'hésite pas à partager ton code, en tenant compte de ceci: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
quel genre de fichier ouvres-tu?
quel travail y fais-tu?
n'hésite pas à partager ton code, en tenant compte de ceci: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Merci beaucoup de ton intérêt pour mon problème, que je précise donc un peu mieux.
Je suis en EXCEL 2016 sur Windows.
La macro que j'exécute est située dans un fichier appelé "outils.xlsx". Dans le cours de son exécution, alors que le fichier "outils.xlsx" est l'ActiveWorkbook, cette macro rencontre une instruction :
MonApplication.Open (repertoire2021 & "\_Modèle2021.xlsm")
Ce fichier "_Modèle2021.xlsm" met quelques secondes à se charger, mais, sans attendre la fin du chargement, la macro se poursuit sur une instruction pour sauvegarder "_Modèle2021.xlsm" sous un autre nom :
ActiveWorkbook.SaveAs (repertoire2021 & "\" & NomResident & " temporaire")
Mais, à ce moment là, le fichier "_Modèle2021.xlsm" n'est pas encore fini de charger, et l'ActiveWorkbook est toujours "outils" et non pas "_Modèle.xlms" comme il faudrait... Résultat, c'est l'ActiveWorkbook "outils.xlsx" qui se trouve sauvegardé en "NomResident temporaire", ce qui n'est pas le but recherché.
J'ai essayé de mettre un :
Application.Wait Now + TimeValue("00:00:10")
après l'instruction de chargement, mais ça ne donne rien : ca semble geler toute la macro pendant 10 sec... y compris le processus d'ouverture de "_Modèle2021.xlsm"...
J'ai aussi essayé de mettre dans le ThisWorkbook de "_Modèle2021.xlsm" une gestion d'évènement :
Private Sub Workbook_Open()
MsgBox "Le fichier-modèle 2021 est ouvert"
Beep
End Sub
Ca marche très bien quand j'ouvre ce fichier "à la main", mais le MsgBox ne s'affiche pas quand l'ouverture de "_Modèle2021.xlsm" est commandée par ma macro.
Merci de ton aide
Je suis en EXCEL 2016 sur Windows.
La macro que j'exécute est située dans un fichier appelé "outils.xlsx". Dans le cours de son exécution, alors que le fichier "outils.xlsx" est l'ActiveWorkbook, cette macro rencontre une instruction :
MonApplication.Open (repertoire2021 & "\_Modèle2021.xlsm")
Ce fichier "_Modèle2021.xlsm" met quelques secondes à se charger, mais, sans attendre la fin du chargement, la macro se poursuit sur une instruction pour sauvegarder "_Modèle2021.xlsm" sous un autre nom :
ActiveWorkbook.SaveAs (repertoire2021 & "\" & NomResident & " temporaire")
Mais, à ce moment là, le fichier "_Modèle2021.xlsm" n'est pas encore fini de charger, et l'ActiveWorkbook est toujours "outils" et non pas "_Modèle.xlms" comme il faudrait... Résultat, c'est l'ActiveWorkbook "outils.xlsx" qui se trouve sauvegardé en "NomResident temporaire", ce qui n'est pas le but recherché.
J'ai essayé de mettre un :
Application.Wait Now + TimeValue("00:00:10")
après l'instruction de chargement, mais ça ne donne rien : ca semble geler toute la macro pendant 10 sec... y compris le processus d'ouverture de "_Modèle2021.xlsm"...
J'ai aussi essayé de mettre dans le ThisWorkbook de "_Modèle2021.xlsm" une gestion d'évènement :
Private Sub Workbook_Open()
MsgBox "Le fichier-modèle 2021 est ouvert"
Beep
End Sub
Ca marche très bien quand j'ouvre ce fichier "à la main", mais le MsgBox ne s'affiche pas quand l'ouverture de "_Modèle2021.xlsm" est commandée par ma macro.
Merci de ton aide
tu ne nous montres pas ce qu'est MonApplication. Le open() que tu as choisi d'utiliser n'est pas le bon choix dans ton cas. Il déclenche l'ouverture de n'importe quel fichier, sans indiquer que c'est un fichier à ouvrir par Excel.
utilise plutôt:
il est également préférable d'éviter d'utiliser "active"
exemple:
utilise plutôt:
workbooks.open()
il est également préférable d'éviter d'utiliser "active"
exemple:
dim wbmod as workbook set wbmod = workbooks.open() wbmod.SaveAs()