quitter Excel par une macro

LD17

XLDnaute Nouveau
Bonjour,

j'utilise depuis des années une macro qui fonctionne bien sous Excel 2000, 2003, mais plante sous 2007 :
elle sert à fermer tous mes fichiers ouverts, enlever le mode plein écran qu'a mis la macro de départ, etc, puis quitter Excel.
Avec 2007, message d'erreur, Excel veut re-démarrer.
Y a-t-il une solution, qui reste compatible avec 2000 et 2003 (j'installe mon "programme" chez mes clients, ils ont toutes les versions...) ?

Fin de la macro :

Application.DisplayFullScreen = False
With Application
.Iteration = False
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
Application.Quit
ActiveWindow.Close SaveChanges:=False

End Sub

Merci d'avance !
 
G

Guest

Guest
Re : quitter Excel par une macro

Bonsoir LD17,

Je crois que deux lignes doivent être interverties:

Code:
Application.DisplayFullScreen = False
With Application
.Iteration = False
.MaxChange = 0.001
End With
[COLOR=royalblue]ActiveWorkbook.PrecisionAsDisplayed = False
[/COLOR][COLOR=red]ActiveWindow.Close SaveChanges:=False
[/COLOR]Application.Quit

Les utilisateurs n'ont pas le choix de continuer à travailler sous excel?

A+
 

LD17

XLDnaute Nouveau
Re : quitter Excel par une macro

Bonsoir Hasco,
j'ai fait le test, effectivement ça paraissait plus logique d'inverser. Mais le résultat est le même :
"Excel a rencontré un problème et doit fermer" et il faut décocher la case "redémarrer Excel".
Pas très important pour moi, mais ça perturbe mes clients, et ça fait "bug"...
Merci, néanmoins, pour la réponse !

Bonne soirée !

PS : peut-on, sur le forum, insérer une image (un print screen fait lors d'un problème) ?
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : quitter Excel par une macro

Bonjour

Perso JAMAIS je ne me permettrai de fermer excel dans un de mes programmes

Imagines que la personne travaillait sur un autre fichier et utilises ton prog. Elle n'a pas sauvegardé son fichier et là ton prog ferme excel. Et bien je ne voudrais pas être à sa place :(
 

LD17

XLDnaute Nouveau
Re : quitter Excel par une macro

2ème PS : concernant la question "Les utilisateurs n'ont pas le choix de continuer à travailler sous Excel ?", je dois fournir à mes clients une version de mon "programme" (composé d'environ 300 fichiers, Excel en majorité) compatible avec leur équipement : différentes versions d'Excel, de Windows...
Je peux difficilement leur imposer à tous l'achat de Excel 2007.
J'étais tenté de passer à OpenOffice, mais ça représente trop de travail, et les fonctions sont quand même moins évoluées.
Et, petit commentaire, bonjour la galère, Excel 2007 !!!
Sans parler des outils totalement remaniés, la pseudo-compatibilité est loin d'être au point, les images et objets, lorsqu'on travaille sur un onglet, sont très fantaisistes sur les onglets inutilisés et nécessitent une fermeture-réouverture du fichier pour reprendre leur taille normale, certaines fonctions sont devenues plus lourdes d'accès qu'avant, les macros sont très longues en exécution malgré 2 Go de RAM, fini les possibilités d'agencer les barres d'outils comme on veut pour avoir tous et seulement les outils nécessaires, etc...
Mais il n'y a pas le choix, il faut continuer !
Merci encore, Hasco.
 

LD17

XLDnaute Nouveau
Re : quitter Excel par une macro

réponse à PascalXLD :
si on ferme Excel par la macro, seuls mes fichiers "statiques", ouverts et masqués, sont fermés (un par un, par la macro), ainsi que le fichier contenant les liens vers les sous-menus et fichiers de travail. Si un autre fichier est ouvert, Excel propose de l'enregistrer, ou d'annuler la fermeture. En 6 ans de fonctionnement, je n'ai jamais eu retour de ce problème.
 

Staple1600

XLDnaute Barbatruc
Re : quitter Excel par une macro

Bonsoir


En 6 ans de fonctionnement, je n'ai jamais eu retour de ce problème.


Quelle version magique d'Excel utilises-tu ?

Et tes clients n'ont jamais planté leurs Windows ? fait face à un fichier Excel corrompu ou illisible ?

Ou retirer une disquette alors que le classeur est toujours ouvert ??

Je suis trés étonné :eek:
 

LD17

XLDnaute Nouveau
Re : quitter Excel par une macro

réponse à Staple1600
perso je suis resté sur 2000 jusqu'en juin 2008, et passé sur un de mes ordis sur 2007 pour comprendre ce qui ne marchait chez ceux qui en étaient équipés.
Pas de problème de plantage chez mes clients, mais je ne pense pas qu'il y ait le moindre risque : ils démarrent Excel par mon programme, qui ouvre une douzaine de fichiers masqués (tarifs, coordonnées) et surtout le fichier gavé de liens hypertextes et de macros qui les emmène là où il faut.
Les fichiers de travail sont ensuite fermés individuellement par des macros demandant validation si modif lorsqu'ils ont fini de travailler avec.
La macro finale ne referme que ce qui avait été ouvert au début, fichier par fichier, et ne fait quitter Excel que si il n'y a rien d'autre d'ouvert.
Tout ça a toujours fonctionné sans soucis, sauf maintenant pour les utilisateurs qui sont passés à 2007 : Excel demande à redémarrer.
 
G

Guest

Guest
Re : quitter Excel par une macro

Bonsoir LD17,

Bien que d'accord avec nos amis Pascal, Brigitte et JM.

je te donne un truc:

il ne te reste qu'à faire une test du genre:

If Left(Application.Version,2)<>"12" then Application.Quit

Pour les versions 2007 il quitteront à la main.

A+
 
Dernière modification par un modérateur:

Discussions similaires

Statistiques des forums

Discussions
314 496
Messages
2 110 236
Membres
110 708
dernier inscrit
novy16