OVH Cloud OVH Cloud

Ouverture / Fermeture de classeur en VBA

3 réponses
Avatar
SHiSo
Bonjour,

j'ai trouvé 2 manières de faire:

Dim appxl As Excel.Application
Set appxl = CreateObject("Excel.application")

With appxl
.Workbooks.Open "C:\Documents and Settings\SHiSo\Bureau\Master 1
SAR\Classeur1.xls"
.Visible = False
End With

Le problème c'est que ca m'ouvre le classeur Classeur1 dans un autre Excel
et je n'ai pas trouvé comment le fermer depuis la fonction
Workbook_BeforeClose() d'un autre classeur Classeur2, qui a ouvert Classeur1.

Sinon l'autre façon de l'ouvrir dans la même fenetre excel:

Workbooks.Open Filename:= _
"C:\Documents and Settings\SHiSo\Mes documents\Classeur1.xls"

Workbooks("Classeur1.xls").Close

Mais je n'ai pas trouvé comment la rendre invisible à l'ouverture :x

SI qq1 a une idée :)

A+
SHiSo

3 réponses

Avatar
Philippe.R
Bonjour,
Essai avec cette ligne en plus :

Workbooks.Open Filename:= _
"C:Documents and SettingsSHiSoMes documentsClasseur1.xls"
ActiveWindow.Visible = False

--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"SHiSo" a écrit dans le message de news:

Bonjour,

j'ai trouvé 2 manières de faire:

Dim appxl As Excel.Application
Set appxl = CreateObject("Excel.application")

With appxl
.Workbooks.Open "C:Documents and SettingsSHiSoBureauMaster 1
SARClasseur1.xls"
.Visible = False
End With

Le problème c'est que ca m'ouvre le classeur Classeur1 dans un autre Excel
et je n'ai pas trouvé comment le fermer depuis la fonction
Workbook_BeforeClose() d'un autre classeur Classeur2, qui a ouvert Classeur1.

Sinon l'autre façon de l'ouvrir dans la même fenetre excel:

Workbooks.Open Filename:= _
"C:Documents and SettingsSHiSoMes documentsClasseur1.xls"

Workbooks("Classeur1.xls").Close

Mais je n'ai pas trouvé comment la rendre invisible à l'ouverture :x

SI qq1 a une idée :)

A+
SHiSo


Avatar
Gaenonius
Mais je n'ai pas trouvé comment la rendre invisible à l'ouverture


Une façon d'ouvrir un classeur et de le rendre invisible est de le déclarer
comme macro complémentaire :

Sub essai()
Dim Nom As String
'ce chemin correspond à Excel 2002 - à adapter
Nom = "C:Program FilesMicrosoft OfficeOffice10SamplesSAMPLES.XLS"
Application.ScreenUpdating = False
Workbooks.Open(Nom).IsAddin = True
End Sub

Il suffit de basculer sa propriété IsAddin à False pour le rendre de nouveau
visible :

Sub essai2()
Dim Nom As String
Nom = "SAMPLES.XLS"
Workbooks(Nom).IsAddin = False
End Sub

--
Gaenonius

Bonjour,

j'ai trouvé 2 manières de faire:

Dim appxl As Excel.Application
Set appxl = CreateObject("Excel.application")

With appxl
.Workbooks.Open "C:Documents and SettingsSHiSoBureauMaster 1
SARClasseur1.xls"
.Visible = False
End With

Le problème c'est que ca m'ouvre le classeur Classeur1 dans un autre Excel
et je n'ai pas trouvé comment le fermer depuis la fonction
Workbook_BeforeClose() d'un autre classeur Classeur2, qui a ouvert Classeur1.

Sinon l'autre façon de l'ouvrir dans la même fenetre excel:

Workbooks.Open Filename:= _
"C:Documents and SettingsSHiSoMes documentsClasseur1.xls"

Workbooks("Classeur1.xls").Close

Mais je n'ai pas trouvé comment la rendre invisible à l'ouverture :x

SI qq1 a une idée :)

A+
SHiSo


Avatar
SHiSo
Thx voila qui répond à ma question et qui fonctionne nickel :)