- Dès que le classeur Liste.xlsx est fermé, celui-ci doit disparaître de la collection. C'est là qu'il y a un problème :
- la fermeture via la croix, trop brutale, n'interagit pas avec la macro qui considère qu'il est toujours présent : le test "If Workbooks(i).Name = "Liste.xlsx" Then" la plante car elle ne retrouve pas le fichier pour récupérer son nom.
- par contre, comme indiqué dans le PS, la fermeture via le menu Fichier/Fermer est mieux contrôlée par Excel :
. au premier essai, Excel détecte que le classeur est géré par la macro et refuse la fermeture.
. au second essai de fermeture par le menu, prenant en compte la macro, il gère l'événement et positionne correctement tous les flags utiles.
. La macro prend alors en compte l'événement et retire le classeur de sa collection : il n'y a donc plus de raison pour qu'elle se plante lors du test.
Partager