|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mars 2009 Messages : 75 ![]() |
Bonjour à toute la communauté,
J'ai un fichier "classeur1.xslm" qui a comme référence un autre fichier "classeur2.xlsm". Ce dernier est un fichier de paramétrage, contenant en plus les modules de classe que plusieurs fichiers utilisent. Le fichier "classeur2.xslm" s'ouvre automatiquement à l'ouverture de "classeur1.xslm" et je cache sa fenêtre à l'utilisateur. Jusqu'ici aucun problème. Mais pour la fermeture, cela est plus complexe. Je veux que quand l'utilisateur ferme "classeur1.xslm", "classeur2.xlsm" se ferme aussi. Du coup si dans le Workbook_BeforeClose je demande la fermeture de "classeur2.xlsm", alors j'obtiens un message me disant fort logiquement que je ne peux pas fermer un classeur pris comme référence. Si je commence par fermer "classeur1.xslm" l'éxécution du code s'arrête automatiquement (fort logiquement aussi!!) Je pédale depuis un moment sans trouver de solution, si quelqu'un a une idée, elle sera la bienvenue!
__________________
Il y a 10 types de geeks, ceux qui savent compter en binaire et les autres... Un geek, c'est quelqu'un qui croit qu'il y a 1024m dans 1km... |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() |
bonsoir
apres avoir fini de travailler a tu penser a Code :
au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mars 2009 Messages : 75 ![]() |
Merci pour ta réponse et ta réactivité Patrick.
J'y avais pas pensé mais c'est un peu trop radical si l'utilisateur a un autre fichier ouvert en même temps. Du coup je pense pas que ça convienne.
__________________
Il y a 10 types de geeks, ceux qui savent compter en binaire et les autres... Un geek, c'est quelqu'un qui croit qu'il y a 1024m dans 1km... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() |
et bien soit
tu n'a qu'a instancier plusieur instance de l'application excel et fermer que la bonne au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : mars 2009 Messages : 75 ![]() |
Là je ne te suis pas vraiment, j'suis largué!!
__________________
Il y a 10 types de geeks, ceux qui savent compter en binaire et les autres... Un geek, c'est quelqu'un qui croit qu'il y a 1024m dans 1km... |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() |
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : mars 2009 Messages : 75 ![]() |
Ok, merci pour la culture!!
Je sais maintenant qu'il peut y avoir plusieurs instance d'Excel lancée en même temps. Il ne me reste plus qu'a trouver comment faire pour que mon classeur s'ouvre automatiquement dans une nouvelle instance d'Excel. Une fois ouverte, pour être sûr de fermer la bonne, il me suffira de vérifier la collection Windows... Je vais faire un petit tour dans la FAQ et je reviens...
__________________
Il y a 10 types de geeks, ceux qui savent compter en binaire et les autres... Un geek, c'est quelqu'un qui croit qu'il y a 1024m dans 1km... |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : mars 2009 Messages : 75 ![]() |
Pour ceux que ça interresent, une solution est de forcer l'ouverture du fichier "classeur1.xslm" dans une nouvelle instance d'Excel. Du coup "classeur2.xslm" s'ouvre dans la même.
Voilà un fil qui permet de se renseigner. (attention c'est en anglais) Ensuite pour la fermeture de tuer cette application Excel avec le morceau de code que propose patricktoulon en prennant soin de vérifier dans la collection Windows pour être sûr de tuer la bonne instance!! Merci beaucoup Patrick
__________________
Il y a 10 types de geeks, ceux qui savent compter en binaire et les autres... Un geek, c'est quelqu'un qui croit qu'il y a 1024m dans 1km... |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : mars 2009 Messages : 75 ![]() |
Une autre solution est de créer la référence à "classeur2.xlsm" à l'ouverture de "classeur1.xlsm" et de la supprimer à la fermeture.
Pour s'aider à le faire voilà un fil. Voilà ça fait une solution de plus!!
__________________
Il y a 10 types de geeks, ceux qui savent compter en binaire et les autres... Un geek, c'est quelqu'un qui croit qu'il y a 1024m dans 1km... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com