VBA - Application.quit

M

Merlin

Guest
Bonjour à tous !!!!

Je me demande s'il est possible qu'à partir d'un fichier de base on puisse en ouvrir un second... et fermer celui de base gràce à <Application.quit>... j'ai essayé et le système me jette ! Y aurait-il un paramétrage particulier pour que cela marche...

ou peut-être qu'il n'y a aucun possibilité.

Merci d'avance !!!!!

:woohoo: Merlin
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Merlin, le Forum

Sauf incomprhension de ma part de ta demande, ce n'est pas vraiment logique d'utiliser 'Application.Quit' une fois que l'on a ouvert un second fichier pour fermer celui de base...

En effet comme l'instruction le laisse bien comprendre 'Application.Quit' est fait pour fermer l'Application, alors l'ouverture du second fichier risque d'être plutôt éphémère !

Moi, par exemple, je placerai ce genre de code dans le Fichier de Base 'FichierBase.xls' pour ouvrir un second Fichier 'X' ... Une fois le fichier 'X' ouvert, le 'FichierBase.xls' se ferme sans être sauvé.

Option Explicit

Sub OpenFileAndClose()
Dim FileToOpen As Variant


FileToOpen = Application.GetOpenFilename('Classeurs Excel,*.xls')

If FileToOpen = False Then MsgBox 'Ouverture Annulée': Exit Sub
Workbooks.Open FileToOpen

ThisWorkbook.Close False

End Sub

(ThisWorkbook.Close True pour sauver)

Bon Aprèm
@+Thierry
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour Merlin, Thierry, Le forum

J'ai décidé de contredire Thierry aujourd'hui ;) , voila pour le fun un code qui le fait avec application.quit en ouvrant le fichier dans une nouvelle instance et en quittant l'instance précédente.

Cordialement, A+

Code:
Public AppExcel As Excel.Application
Sub Ouvre_Autre()
    Dim Nom_Fichier As Variant
    Nom_Fichier = Application.GetOpenFilename('Classeurs Excel,*.xls')
    If Nom_Fichier = False Then
        MsgBox 'Ouverture Annulée', vbOKOnly + vbInformation
    Else
        Set AppExcel = CreateObject('Excel.Application')
        AppExcel.Workbooks.Open Filename:=Nom_Fichier
        AppExcel.Visible = True
        Application.Quit
    End If
End Sub
 
M

Merlin

Guest
RE...

Voilà mon code pour ouvrir le second fichier... où dois-je intercaler votre code...?

en sachant que le fichier de base est : 001.xls... le second : 002.xls


Sub OUVRIR_FICHIER()

ChDir 'C:\\Documents and Settings\\MERLIN\\Mes documents\\excel'
Workbooks.Open Filename:= _
'C:\\Documents and Settings\\MERLIN\\Mes documents\\excel\\002.xls'

End Sub


Merci d'avance
:woohoo: Merlin
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia