Macro exel qui enregistrer un autre fichier exel

momo360 Messages postés 2 Date d'inscription mercredi 31 décembre 2008 Statut Membre Dernière intervention 14 mars 2009 - 14 mars 2009 à 10:37
momo360 Messages postés 2 Date d'inscription mercredi 31 décembre 2008 Statut Membre Dernière intervention 14 mars 2009 - 14 mars 2009 à 18:47
Bonjour,
Je suis tout nouveau sur ce forum est vient appeler à l'aide. Après une semaine de recherche je n'arrive tjs pas a résoudre mon problème.
J'ai une macro exel (fichier1) qui ouvre un autre fichier exel (fichier2), qui le modifie. Ces modifications se font en arriere plan (fenêtre non visible). Je veux ensuite enregistrer le fichier et quiter. Mon problème est que je n'arrive pas a enregistrer. Si je zape l'étape enregistrer et que je laisse le "quitter",  il me met la fenêtre courante "voulez vous enregistrer......". Quand je repond "oui " à cette fenêtre, il enregistre mes modifications correctement et me ferme le fichier
Je voudrez donc qu'il zape cette étape et qu'il m'enregistre directement.

Voici mon code qui est contenu dans un module du fichier1

Public obj As Excel.Application

Sub ouvrire()

Set obj = CreateObject("Excel.Application")
strFichier = "C:\Documents and Settings\user\Mes documents\fichier2.xls"
obj.Workbooks.Open (strFichier)
obj.Visible = False
end sub

Sub EnregistrerFermer()
'Ligne qui doit enregistrer
obj.Quit ou obj.Workbooks.Close
end sub

Voila merci d'avance pour votre aide

2 réponses

dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
14 mars 2009 à 13:06
Bonjour ,

Etant donné que tu modifies le fichier2 , il faut l'enregistrer
avant de le fermer.
Tu peux ecrire:
   Workbooks("fichier2.xls").Close savechanges:=True
Bonne journée
0
momo360 Messages postés 2 Date d'inscription mercredi 31 décembre 2008 Statut Membre Dernière intervention 14 mars 2009
14 mars 2009 à 18:47
Re

C'est parfait!!!!
Dire que je me suis pris la tête pour une si petite ligne
Javais déjà essayé ce code mais je n'avais pas marqué le ("fichier2.xls")

Un grand merci
0
Rejoignez-nous