[VBA] Workbbok CLOSE : la suite de la macro est-elle exécutée ?

F22Raptor

XLDnaute Impliqué
Hello,
J'ai une macro de "validation" d'un process dans un classeur.
Auparavant, une fois cette macro effectuée, j'enregistrais et je fermais manuellement le fichier.

Question : si j'ajoute cette ligne à ma macro, la suite de la macro sera t elle effectuée ? (fermeture d'un autre classeur, repasser xlCalculation en Automatic, etc ...)
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Workbbok CLOSE : la suite de la macro est-elle exécutée ?

Bonjour,

si le classeur dans lequel s'exécute la macro est fermé, l'exécution du code s'arretera.... préférable de placer les autres instructions avant la fermeture...

bonne journée
@+
 

F22Raptor

XLDnaute Impliqué
Re : [VBA] Workbbok CLOSE : la suite de la macro est-elle exécutée ?

Merci !
En effet, ça va poser problème ...
J'ai donc :
File1 = fichier principal, donc les feuilles contiennent des liens au File2 ; à enregistrer avant fermeture
File2 = fichier secondaire, qui sert de source au calcul de File1 ; à fermer sans enregistrer

Les données de File1 (une fois fermé) sont liées à d'autres fichiers.
Pour ne pas avoir de ### dans ces fichiers, il faut que je ferme File1 (en l'enregistrant) AVANT de fermer File2.
Sinon, en fermant File2 d'abord, ça fait sauter les valeurs de File1 dépendant de File2*.

Mon problème devient donc : Comment fermer File1 d'abord, puis File2, sachant que seul File1 peut contenir des macros !
J'ai essayé de "sous-traiter" ces deux fermetures à un classeur toujours ouvert en arrière plan : File1 appelle une macro dans ce classeur qui fait le job ... mais ça s'arrête après la fermeture de File1 :(


*les formules de File1 font appel à File2 sur la base de formules "INDIRECT". Dès que je ferme File2, les liens ne se font plus.
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Workbbok CLOSE : la suite de la macro est-elle exécutée ?

Re,

A voir s'il est important de conserver les formules ou si tu ne peux pas au préalable faire un copier => collage spécial => et coller les valeurs.... perso pas trop formuliste...
 

Dranreb

XLDnaute Barbatruc
Re : [VBA] Workbbok CLOSE : la suite de la macro est-elle exécutée ?

Bonjour.
Je pense que c'est un faux problème: si les formules avec INDIRECT ne peuvent plus s'évaluer quand le classeur auquel elles se réfèrent est fermé, cela ne change rien aux contenu du classeur, ce sont toujours ces formule avec INDIRECT qui ne peuvent s'évaluer qu'avec classeur référé ouvert.
Cependant, s'il y a un problème de dernière valeur conservée dans le classeur fermé, on peut le sauvegarder sans le fermer, fermer l'autre, puis fermer celui si sans enregistrer les modifs.
Si toutefois c'est nécessaire … je ne suis pas si persuadé que le projet VBA ne reste pas chargé jusqu'à ce qu'il ait fini de s'exécuter même si son classeur propriétaire à été fermé. …Si toutefois il l'a été physiquement dès l'appel à sa méthode Close, ce qui n'est même pas sûr…
 

F22Raptor

XLDnaute Impliqué
Re : [VBA] Workbbok CLOSE : la suite de la macro est-elle exécutée ?

@Dranreb : en effet, bien vu ! :) Si j'enregistre F1, puis ferme F2, et ferme F1 sans enregistrer, c'est OK

(Apparemment, le projet VBA se coupe sans aller plus loin dès que ThisWorkbook.Close est exécuté)

Merci Dranreb, tu me sauves ! :)
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T