Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/01/2012, 19h38   #1
Membre du Club
 
Inscription : mars 2009
Messages : 75
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 75
Points : 67
Points : 67
Par défaut Fermeture d'un classeur pris comme référence

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...
yorgh1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 20h49   #2
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu...

bonsoir

apres avoir fini de travailler a tu penser a
Code :
1
2
3
 
application.displayalerts=false
application.quit 'ferme exel tout simplement

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
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 20h52   #3
Membre du Club
 
Inscription : mars 2009
Messages : 75
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 75
Points : 67
Points : 67
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...
yorgh1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 20h55   #4
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

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
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 20h59   #5
Membre du Club
 
Inscription : mars 2009
Messages : 75
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 75
Points : 67
Points : 67
Là je ne te suis pas vraiment, j'suis largué!! On peut avoir plusieurs objets du type Application? Comment tu fais ça? A quoi ça sert?
__________________
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...
yorgh1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 21h07   #6
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

regarde ici

ca pourra peut etre t'aider

C'EST ICI

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
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 21h13   #7
Membre du Club
 
Inscription : mars 2009
Messages : 75
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 75
Points : 67
Points : 67
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...
yorgh1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 21h25   #8
Membre du Club
 
Inscription : mars 2009
Messages : 75
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 75
Points : 67
Points : 67
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...
yorgh1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 21h43   #9
Membre du Club
 
Inscription : mars 2009
Messages : 75
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 75
Points : 67
Points : 67
Par défaut Une autre solution...

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...
yorgh1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h31.


 
 
 
 
Partenaires

Hébergement Web