activeworkbook.close Sur une Forme :

  • Initiateur de la discussion Initiateur de la discussion evilprog
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

evilprog

XLDnaute Nouveau
Bonjour à tous!

J'utilise une belle forme stylisé pour lancer une macro afin de quitter excel.

macro du type :

Code:
ActiveWorkbook.Saved = True 'pour ne pas sauvegarder
ActiveWorkbook.Close 'pour quitter le classeur en cours

Je préfère fermer le classeur plutôt que tout Excel car il est possible qu'on utilise d'autre fichier excel en parrallèle.

Le problème c'est qu'en lançant cette macro à partir d'une forme. Excel plante et envoi un rapport d'erreur. J'ai cru comprendre que c'est un bug de la version 2007.

Avez-vous une solution ?


Merci d'avance.

evilprog
++

PS: je suis bien sûr sous excel 2007
 
Re : activeworkbook.close Sur une Forme :

Bonsoir

essaye en remplacant tes 2 lignes de code par celles ci :

ferme le classeur sans sauvegarder.
Code:
ActiveWorkbook.Close False

non testé avec une forme, encore moins sous 2007...

bonne soirée
@+
 
Re : activeworkbook.close Sur une Forme :

Bonsoir evilprog, Pierrot,

"J'utilise une belle forme stylisé pour lancer une macro afin de quitter excel. et la suite de ton message"

Voire l'intérêt d'une telle option ??

A te loire.

Jean-Pierre
 
Re : activeworkbook.close Sur une Forme :

Merci Pierrot93 pour ta réponse rapide !

Hélas, Excel 2007 se comporte exactement de la même façon.

Je l'ai lancer directement de VBA et pas de problème... apparement ça vient de la forme 😕

je peux contourner ça ?

EDIT: @ Jeanpierre : En fait les personnes qui vont utiliser le fichier ne maîtrise rien de l'informatique, donc une belle grosse croix rouge c'est plus facile pour quitter cet mini appli
 
Re : activeworkbook.close Sur une Forme :

Bonjour à tous.

Bon sur la version 2007, Excel n'aime pas qu'il y ai qu'un seul fichier.
Donc voici une solution pas très esthétique mais elle fonctionne (en fait on ajoute une feuille avant de fermer la feuille). Sinon si un autre fichier est ouvert, cela ne devrait pas planter.

Sinon si on veut fermer Excel, le fichier précédent devrait fonctionner.
 

Pièces jointes

Re : activeworkbook.close Sur une Forme :

Rebonjour à tous !

Je m'excuse pour cette petite absence, mais me revoilà.

Alors, j'ai bien regardé ce que vous avez proposez...
Donc pour quitter excel pas de problème ça marche (voir essai_sortie2)

Ca devient embêtant lorsqu'on a d'autre classeur d'ouvert et du coup qui vont se fermer avec.

J'ai un peu étudier la chose, la technique sur 'essai_sortie3' permet en effet de fermer le classeur, mais ça en ouvre un nouveau (l'astuce pour pouvoir fermer est d'en avoir un d'ouvert) et du coup on tourne un peu en rond.

Je vous remercie déjà donc pour ces précieuses réponses, qui hélàs confirme mon problème, excel 2007 ne peut pas fermer un classeur en lançant une macros à partir d'une forme.

J'ai d'ailleur essayé plusieurs choses :

activeworkbook.close
workbooks("nomduclasseur").close
activewindow.close
windows("nomdelafenêtre").close

rien n'y fait...

J'imagine que le problème vient du ".close"
Pour mon fichier j'ai donc abandonné, et viré l'image.

Voilà, si c'est un bug faut-il le signaler ? sont-ils déjà au courant ? Des mise-à-jour sont possibles ?

Sinon bonne fin de semaine, et merci d'avoir passé un peu de temps pour mon problème.

evilprog
++
 
Re : activeworkbook.close Sur une Forme :

Rebonjour à tous !

Je m'excuse pour cette petite absence, mais me revoilà.

Alors, j'ai bien regardé ce que vous avez proposez...
Donc pour quitter excel pas de problème ça marche (voir essai_sortie2)

Ca devient embêtant lorsqu'on a d'autre classeur d'ouvert et du coup qui vont se fermer avec.

J'ai un peu étudier la chose, la technique sur 'essai_sortie3' permet en effet de fermer le classeur, mais ça en ouvre un nouveau (l'astuce pour pouvoir fermer est d'en avoir un d'ouvert) et du coup on tourne un peu en rond.

Je vous remercie déjà donc pour ces précieuses réponses, qui hélàs confirme mon problème, excel 2007 ne peut pas fermer un classeur en lançant une macros à partir d'une forme.

J'ai d'ailleur essayé plusieurs choses :

activeworkbook.close
workbooks("nomduclasseur").close
activewindow.close
windows("nomdelafenêtre").close

rien n'y fait...

J'imagine que le problème vient du ".close"
Pour mon fichier j'ai donc abandonné, et viré l'image.

Voilà, si c'est un bug faut-il le signaler ? sont-ils déjà au courant ? Des mise-à-jour sont possibles ?

Sinon bonne fin de semaine, et merci d'avoir passé un peu de temps pour mon problème.

evilprog
++

Bonjour,
Il y a effectivement un bug. On peut résoudre le problème en installant la mise à jour Office 2007 Service Pack 2, à télécharger sur le site de Microsoft.
MGU
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
647
Retour