Ouverture de fichier sans exécution du Workbook_Open
1 réponse
Alain
Bonjour.
J'ai un fichier Excel - soit Y - qui contient du code volumineux dans le
Workbook_Open.
J'ouvre parfois ce fichier en interactif et parfois à partir d'une macro qui
se situe dans un autre fichier Excel - soit X.
Lorsque j'ouvre Y à partir de X, je n'ai pas besoin d'exécuter le code
volumineux du Workbook_Open de Y.
Lorsque j'ouvre Y en interactif, j'ai besoin du code du Workbook_Open.
Comment faire pour empêcher l'exécution du Workbook_Open dans le cas qui
m'intéresse?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
| Lorsque j'ouvre Y en interactif, j'ai besoin du code du Workbook_Open.
Si tu as excel 2002 ou plus récent, dans la macro qui appelle l'ouverture du fichier, tu utilises la ligne de code suivante juste avant de lancer l'ouverture du fichier Application.EnableEvents = False Après l'ouverture : Application.EnableEvents = True
Si ta version est plus ancienne d'Excel 2002, tu peux passer par une macro de ce type :
Dim xl As Object, wbk As Workbook Set xl = CreateObject("Excel.Application") xl.EnableEvents = False Set wbk = xl.Workbooks.Open("c:Classeur1.xls")
| Lorsque j'ouvre Y en interactif, j'ai besoin du code du Workbook_Open.
Si tu as excel 2002 ou plus récent, dans la macro qui appelle l'ouverture
du fichier, tu utilises la ligne de code suivante juste avant de lancer l'ouverture
du fichier
Application.EnableEvents = False
Après l'ouverture :
Application.EnableEvents = True
Si ta version est plus ancienne d'Excel 2002, tu peux passer par
une macro de ce type :
Dim xl As Object, wbk As Workbook
Set xl = CreateObject("Excel.Application")
xl.EnableEvents = False
Set wbk = xl.Workbooks.Open("c:Classeur1.xls")
| Lorsque j'ouvre Y en interactif, j'ai besoin du code du Workbook_Open.
Si tu as excel 2002 ou plus récent, dans la macro qui appelle l'ouverture du fichier, tu utilises la ligne de code suivante juste avant de lancer l'ouverture du fichier Application.EnableEvents = False Après l'ouverture : Application.EnableEvents = True
Si ta version est plus ancienne d'Excel 2002, tu peux passer par une macro de ce type :
Dim xl As Object, wbk As Workbook Set xl = CreateObject("Excel.Application") xl.EnableEvents = False Set wbk = xl.Workbooks.Open("c:Classeur1.xls")