Bonjour,
j'ai 5 fichiers excel contenants tous des macros excel qui se lancent au
démarrage et ferme le classeur à la fin de l'éxécution.
Je souhaiterai avoir un fichier excel qui par un macro lance le premier
fichier, attend la fin de son éxécution et donc sa fermeture, puis la
second.....
le problème est : comment en vba exprimer : attend la fermeture du classeur
x pour lancer le y...
avez-cous une idée?
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
anonymousA
bonjour,
Je ne suis pas sur de répondre correctement à ta question mais je me lance. Si tu ouvres tes fichiers et qu'à l'ouverture de chacun de ceux-ci, ils exécutent une procédure automatique (je suppose par Workbook_open), l'exécution de ton programme principal (celui du fichier qui lance l'ouverture des fichiers annexes) est momentanément interrompue durant l'exécution de la macro du fichier nouvellement ouvert. Il te suffit donc de placer les instructions suivantes pour permettre d'une part l'ouverture successive des fichiers puis leur fermeture
p.e
Workbooks.open "C:cheminfichier1.xls" Workbooks("fichier1.xls").close et ainsi de suite pour chacun des 5 fichiers.
Il te faudra par ailleurs oter de chacun de tes 5 fichiers l'instruction de fermeture qu'ils contiennent , si c'est le cas, lors de la fin de leur exécution automatique des macros qu'ils contiennent. En effet, si tu ne le fais pas et que tu laisses les fichiers se fermer d'eux-mêmes ,donc grace à leurs propres macros, c'est le programme principal qui sera interrompu définitivement et tu n'auras pu ouvrir qu'un seul fichier. Ce que je dis là est au moins vrai pour Excel2000, je viens d'en refaire l'essai.
A+
Bonjour, j'ai 5 fichiers excel contenants tous des macros excel qui se lancent au démarrage et ferme le classeur à la fin de l'éxécution. Je souhaiterai avoir un fichier excel qui par un macro lance le premier fichier, attend la fin de son éxécution et donc sa fermeture, puis la second..... le problème est : comment en vba exprimer : attend la fermeture du classeur x pour lancer le y... avez-cous une idée?
merci d'avance,
Serge
bonjour,
Je ne suis pas sur de répondre correctement à ta question mais je me lance.
Si tu ouvres tes fichiers et qu'à l'ouverture de chacun de ceux-ci, ils
exécutent une procédure automatique (je suppose par Workbook_open),
l'exécution de ton programme principal (celui du fichier qui lance
l'ouverture des fichiers annexes) est momentanément interrompue durant
l'exécution de la macro du fichier nouvellement ouvert. Il te suffit donc de
placer les instructions suivantes pour permettre d'une part l'ouverture
successive des fichiers puis leur fermeture
p.e
Workbooks.open "C:cheminfichier1.xls"
Workbooks("fichier1.xls").close et ainsi de suite pour chacun des 5 fichiers.
Il te faudra par ailleurs oter de chacun de tes 5 fichiers l'instruction de
fermeture qu'ils contiennent , si c'est le cas, lors de la fin de leur
exécution automatique des macros qu'ils contiennent.
En effet, si tu ne le fais pas et que tu laisses les fichiers se fermer
d'eux-mêmes ,donc grace à leurs propres macros, c'est le programme principal
qui sera interrompu définitivement et tu n'auras pu ouvrir qu'un seul
fichier. Ce que je dis là est au moins vrai pour Excel2000, je viens d'en
refaire l'essai.
A+
Bonjour,
j'ai 5 fichiers excel contenants tous des macros excel qui se lancent au
démarrage et ferme le classeur à la fin de l'éxécution.
Je souhaiterai avoir un fichier excel qui par un macro lance le premier
fichier, attend la fin de son éxécution et donc sa fermeture, puis la
second.....
le problème est : comment en vba exprimer : attend la fermeture du classeur
x pour lancer le y...
avez-cous une idée?
Je ne suis pas sur de répondre correctement à ta question mais je me lance. Si tu ouvres tes fichiers et qu'à l'ouverture de chacun de ceux-ci, ils exécutent une procédure automatique (je suppose par Workbook_open), l'exécution de ton programme principal (celui du fichier qui lance l'ouverture des fichiers annexes) est momentanément interrompue durant l'exécution de la macro du fichier nouvellement ouvert. Il te suffit donc de placer les instructions suivantes pour permettre d'une part l'ouverture successive des fichiers puis leur fermeture
p.e
Workbooks.open "C:cheminfichier1.xls" Workbooks("fichier1.xls").close et ainsi de suite pour chacun des 5 fichiers.
Il te faudra par ailleurs oter de chacun de tes 5 fichiers l'instruction de fermeture qu'ils contiennent , si c'est le cas, lors de la fin de leur exécution automatique des macros qu'ils contiennent. En effet, si tu ne le fais pas et que tu laisses les fichiers se fermer d'eux-mêmes ,donc grace à leurs propres macros, c'est le programme principal qui sera interrompu définitivement et tu n'auras pu ouvrir qu'un seul fichier. Ce que je dis là est au moins vrai pour Excel2000, je viens d'en refaire l'essai.
A+
Bonjour, j'ai 5 fichiers excel contenants tous des macros excel qui se lancent au démarrage et ferme le classeur à la fin de l'éxécution. Je souhaiterai avoir un fichier excel qui par un macro lance le premier fichier, attend la fin de son éxécution et donc sa fermeture, puis la second..... le problème est : comment en vba exprimer : attend la fermeture du classeur x pour lancer le y... avez-cous une idée?