Fermer 2 fichiers par macro - VB/VBA/VBS - Programmation
Marsh Posté le 10-01-2006 à 15:01:46
Bah chez moi ca fonctionne bien ton code...
Edit: pas fait gaffe: ta macro de départ qui a ouvert le fichier 2 à partir du 1 est encore en cours??
Ca peut être cela...
Marsh Posté le 10-01-2006 à 15:16:24
Gusdabo a écrit : Bah chez moi ca fonctionne bien ton code... |
J'ai même ajouter à fiche1.xls dans workbook_beforeClose() de fermer la fiche2.xls, mais ça ne fonctionne pas non plus.
Quelqu'un a la solution à ce problème? Merci.
Marsh Posté le 10-01-2006 à 15:19:36
ReplyMarsh Posté le 10-01-2006 à 15:41:06
Gusdabo a écrit : Ta macro d'origine est terminée ou pas? |
Je ne suis pas sûre de bien te comprendre. Si tu parles de la macro workbook_open du fichier fiche1.xls, oui elle est terminée.
Il y a une chose que j'ai oublié de mentionné:
J'ai un bouton dans fiche1.xls qui lorsqu'on clique dessus appelle une macro de fiche2.xls pour éxécuter quelques opérations et quand le tout est terminé, c'est là que je demande à fermer les deux fichiers.
Une autre chose que j'aimerais c le code macro pour vérifier si un fichier est déjà ouvert et si c le cas, alors on ne le réouvre pas.
Merci
Marsh Posté le 10-01-2006 à 15:48:51
pour savoir si fiche2 est déja ouvert, il faut qq chose comme:
let zz=0
for each wk in workbooks
if wk.name = "fiche2.xls" then
let zz = 1
next
if zz=0 then workbooks.open("fiche2.xls" )
'suite de ton code et de tes traitements...
Ensuite, ce qu'il faut c'est que le code de fermeture soit dans ton fiche1, à la fin de la même macro qui a ouvert fiche2 (celle que tu as appelé avec ton bouton dans fiche1)
et tu ferme fiche2 en premier.
Je sais pas si je suis super clair??
Marsh Posté le 10-01-2006 à 16:08:47
Gusdabo
merci beaucoup pour ton aide. Je n'ai pas mes fichiers Excel avec moi, mais je vais essayer le tout ce soir. J'pense que j'ai trouvé la solution à mes problèmes de macros.
Encore une fois, merci.
Zangel
Gusdabo a écrit : pour savoir si fiche2 est déja ouvert, il faut qq chose comme: |
Marsh Posté le 10-01-2006 à 14:56:48
Bonjour
J'ai une macro dans le fichier fiche2.xls qui ferme le fichier fiche1.xls, mais dès que le fichier fiche1.xls se ferme, la macro ne continue pas, c'est-à-dire que le fichier fiche2.xls ne se ferme jamais.
Voici mon code VBA
Notez que mes valeurs ont été déclarées.
Set bk1 = Workbooks("fiche1.XLS" )
Set bk2 = Workbooks("fiche2.xls" )
bk1.Close savechanges:=True
bk2.Close savechanges:=True
Qu'est-ce que je dois changer ou ajouter pour que la fiche2.xls se ferme après la fiche1.xls?
Note: veuillez noter que la fonction workbook_open de fiche1.xls ouvre la fiche2.xls. J'ignore si cela peut changer quelque chose, mais je préfèrais le mentionner.
Merci
Zangel