Rechercher : dans
Par :

[VBA] Fermeture avec enreg sans boite de dial

Dernière réponse le 2 fév 2009 à 11:06:09 Dog killer, le 8 jun 2007 à 10:04:56 
 Signaler ce message aux modérateurs

Bonjour,

Voila je viens de créer une application de Excel et je voudrais quand je fais fichier fermer ou quitter ou encrore la croix en haut a droite que mon fichier s'enregistre automatiquement sans rien ne me demander avec le meme nom et à l'endroit ou il se trouve!
Precisions: je pensais le mettre dans Private Sub Workbook_BeforeClose(Cancel As Boolean) de la feuille Thisworkbook, dans cette partie il y a déja une macro qui me met en mise en page standard. cela va posé problème ???

merci de vos réponses! Être ou ne pas etre acoudé au comptoir , tel est la véritabl­e question (Martini au Shak_spear) ; ) 
HAVE FUN 

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [VBA] Fermeture avec enreg sans boite de dial » dans :
[Windows] Personnaliser la boîte de dialogue 'Enregistrer' VoirPersonnaliser la boîte de dialogue "Enregistrer" ou "Enregistrer sous..." de Windows (XP ou 2000); Plus précisément, il s'agit de personnaliser la colonne de gauche, contenant par défaut les raccourcis (icônes) "Mes documents récents", "Bureau",...
VBScript - Les boîtes de dialogue VoirQu'est-ce qu'une boîte de dialogue? Une boîte de dialogue est une fenêtre qui s'affiche au premier plan suite à un événement, et qui permet : soit d'avertir l'utilisateur ; soit le confronter à un choix ; soit lui demander de compléter un champ...

1

Dog killer, le 11 jun 2007 à 07:25:39

Up Être ou ne pas etre acoudé au comptoir , tel est la véritabl­e question (Martini au Shak_spear) ; ) 
HAVE FUN 

Répondre à Dog killer

2

Sir_DEC, le 12 jun 2007 à 10:02:03

Tu peux parfaitement rajouter une macro dans le "BeforeClose" pour enregistrer ton classeur.

Sinon, tu peux créer un bouton (ou un évènement) exécutant le code "ActiveWorbook.Close True".

Sir_DEC

Répondre à Sir_DEC

3

Dog killer, le 12 jun 2007 à 10:16:52

Pourrais je avoir les détail stp sur le système pour enregistrer automatiquement??? Merci Être ou ne pas etre acoudé au comptoir , tel est la véritabl­e question (Martini au Shak_spear) ; ) 
HAVE FUN 

Répondre à Dog killer

4

Sir_DEC, le 12 jun 2007 à 10:34:51
  • +1

Plusieurs manières de faire :

La première que je t'ai donné, sers à fermer le classeur "ActiveWorkbook.Close" en lui donnant en paramètre si l'on veut sauvegarder ou non ("True" ou "False") de la manière suivante : "ActiveWorkbook.Close True". Par contre je ne me rappelle plus si la sauvegarde est automatique dans ce cas (en tout cas pas si le classeur n'a jamais été enregistré, ça c'est certain).

Ensuite : "Application.GetSaveAsFilename" qui ouvre simplement la fenêtre "Enregistrer sous..." (Save As...)

Et enfin : "ActiveWorkbook.SaveAs filename:=nom_souhaité" (en remplaçant le "nom_souhaité" par le nom que l'on veut donner au fichier).

Bien sûr le "ActiveWorkbook" peut être remplacé par ThisWorkbook ou par le nom du classeur Workbooks("Nom_du_classeur.xls").

Voilà pour toi

Répondre à Sir_DEC

5

Dog killer, le 12 jun 2007 à 10:40:16

Merci c'est très clair , je vais le faire tout de suite Être ou ne pas etre acoudé au comptoir , tel est la véritabl­e question (Martini au Shak_spear) ; ) 
HAVE FUN 

Répondre à Dog killer

6

Dog killer, le 12 jun 2007 à 11:25:17

Par contre je ne veux pas qu'il me change le nom quand je quitte
Être ou ne pas etre acoudé au comptoir , tel est la véritabl­e question (Martini au Shak_spear) ; ) 
HAVE FUN 

Répondre à Dog killer

7

Sir_DEC, le 12 jun 2007 à 11:33:11

ActiveWorkbook.SaveAs filename:=ThisWorkbook.Name

Répondre à Sir_DEC

8

Dog killer, le 12 jun 2007 à 11:37:46

Par contre il ne me ferme pas excel mais juste le classeur !!!
serait ce possiblee de fermer excel aussi ???
merci Être ou ne pas etre acoudé au comptoir , tel est la véritabl­e question (Martini au Shak_spear) ; ) 
HAVE FUN 

Répondre à Dog killer

9

Sir_DEC, le 12 jun 2007 à 11:41:55

ActiveWorkbook.Close -> Fermeture du classeur
Application.Close -> Fermeture d'Excel

A noter que si tu fermes ton application avec en paramètre "False" (pas de sauvegarde), tous les classeurs ouverts seront fermés sans sauvegarde, fais bien attention donc.

Répondre à Sir_DEC

10

Dog killer, le 12 jun 2007 à 11:48:03

Il me met erreur 438 propriété ou méthode non géré par cet objet
pour Application.Close Être ou ne pas etre acoudé au comptoir , tel est la véritabl­e question (Martini au Shak_spear) ; ) 
HAVE FUN 

Répondre à Dog killer

11

Sir_DEC, le 12 jun 2007 à 11:58:03

Autant pour moi, c'est Application.Quit.

Répondre à Sir_DEC

12

Dog killer, le 12 jun 2007 à 13:31:14

Par contre il faut que je mette les composant dans quel ordre???



merci Être ou ne pas etre acoudé au comptoir , tel est la véritabl­e question (Martini au Shak_spear) ; ) 
HAVE FUN 

Répondre à Dog killer

13

Sir_DEC, le 12 jun 2007 à 13:35:18

Tu parles des lignes de code ?

A priori il vaudrait mieux sauvegarder avant de quitter, non ?

;-)

Répondre à Sir_DEC

14

Monk, le 2 fév 2009 à 10:06:54

Bonjour,

je remonte se post avec une légère nuance,

Serait il possible, par option, de ne pas faire apparaitre la fenetre d'enregistrement lors de la fermeture d'excel.

Je precise, trouver une option à selectionner kk part afin que le fichier se ferme et s'enregistre automatiquement, et si possible sans faire de script macro.(contrainte)

Merci d'avance . . .

Répondre à Monk

15

Mike-31, le 2 fév 2009 à 10:35:14

Salut,

Places ce code dans la ThisWorbook.
Clic droit sur un onglet/Visualiser le code/double clic sur ThisBokbook et colles le code

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each w In Application.Workbooks
w.Save
Next w
Application.Quit
End Sub

A+

Répondre à Mike-31

16

Monk, le 2 fév 2009 à 10:49:58

Ca marche pas.

J'ai bien écris ce script, puis je teste en faisant :

ouverture manuel du fichier
une modif quelquonc sur le fichier
je ferme le fichier
et là, il me redemande si je veux enregistrer ....


d'ou viens le pbm ?? . . .

Répondre à Monk

17

Monk, le 2 fév 2009 à 11:02:55

Ok j'étais pas sur ma workbook mais sur ma feuille

Ok ca marche, super.


Merci !

Répondre à Monk

18

 Mike-31, le 2 fév 2009 à 11:06:09

Salut,


Récupères l'exeple avec le lien ci dessous, saisis n'importe quoi et ferme le de la façon que tu souhaites, il va se fermer après enregistrement sans aucun avertissement et fermer Excel

http://cjoint.com/?celd2fCucg

A+

Nos posts se sont croisés, si tu ne souhaites pas fermer Excel supprimes cette ligne ou mets unesapostrophe devant

'Application.Quit

N'oublis pas de mettre ton statut en résolu merci A+

Répondre à Mike-31