OVH Cloud OVH Cloud

excel qui tourne

4 réponses
Avatar
John Smith
Salut,

J'ai un probleme de controle avec excel
voici mon code

Set objExcel = excel.Application
objExcel.visible = true
objExcel.DisplayAlerts = false
Set objWorkbook = objExcel.Workbooks.Open(chemindufichier)
'va cherche des donné dans excel

objWorkbook.Close
Set objWorkbook = Nothing

objExcel.visible = True
objExcel.DisplayAlerts = True
objExcel.quit
Set objExcel = Nothing
et quand je ouvre les process excel tourne toujours sans etre visible
Comment faire pour fermer excel proprement

4 réponses

Avatar
Jacques93
Bonjour John Smith,
John Smith a écrit :
Salut,

J'ai un probleme de controle avec excel
voici mon code

Set objExcel = excel.Application
objExcel.visible = true
objExcel.DisplayAlerts = false
Set objWorkbook = objExcel.Workbooks.Open(chemindufichier)
'va cherche des donné dans excel

objWorkbook.Close
Set objWorkbook = Nothing

objExcel.visible = True
objExcel.DisplayAlerts = True
objExcel.quit
Set objExcel = Nothing
et quand je ouvre les process excel tourne toujours sans etre visible
Comment faire pour fermer excel proprement



Essaie :

Set objExcel = New Excel.Application
...

--
Cordialement,

Jacques.
Avatar
John Smith
ca ne marche pas dans le cas suivant
J'ouvre deux fichier par vb6 et je copie une feuille excel dans un autre
classeur.
Dim Certqc As excel.Workbook
Dim objWorkbook As excel.Workbook
Dim ws As excel.Worksheet
Set ws = Certqc.Sheets("qc")
ws.Copy Before:=objWorkbook.Sheets("Donne")
si je n'utilise pas le new ca marche. excel tourne toujours quand je le
ferme
si j'utilise le new j'ai l'erreur suivante:
Error
Method "Copy" of object" _worksheet failed



"Jacques93" wrote in message
news:eq$
Bonjour John Smith,
John Smith a écrit :
Salut,

J'ai un probleme de controle avec excel
voici mon code

Set objExcel = excel.Application
objExcel.visible = true
objExcel.DisplayAlerts = false
Set objWorkbook = objExcel.Workbooks.Open(chemindufichier)
'va cherche des donné dans excel

objWorkbook.Close
Set objWorkbook = Nothing

objExcel.visible = True
objExcel.DisplayAlerts = True
objExcel.quit
Set objExcel = Nothing
et quand je ouvre les process excel tourne toujours sans etre visible
Comment faire pour fermer excel proprement



Essaie :

Set objExcel = New Excel.Application
...

--
Cordialement,

Jacques.


Avatar
Jacques93
John Smith a écrit :
ca ne marche pas dans le cas suivant
J'ouvre deux fichier par vb6 et je copie une feuille excel dans un autre
classeur.
Dim Certqc As excel.Workbook
Dim objWorkbook As excel.Workbook
Dim ws As excel.Worksheet
Set ws = Certqc.Sheets("qc")
ws.Copy Before:=objWorkbook.Sheets("Donne")
si je n'utilise pas le new ca marche. excel tourne toujours quand je le
ferme
si j'utilise le new j'ai l'erreur suivante:
Error
Method "Copy" of object" _worksheet failed




Chez moi, la feuille est bien copiée dans l'autre classeur, et
l'instance d'Excel arrêtée.

Excel 2003, Windows XP SP2

--
Cordialement,

Jacques.
Avatar
John Smith
Bonjour,

J'ai trouvé mon probleme

j'ai une fonction qui ouvre mes workbook dans excel
alors quand j'ouvrais 2 workbook j'avais deux new excel.application
j'ai modifié le tout et la voici
ca peut toujours servir a quelqu'un

Sub openfichierexcel(chemin As String, file As excel.Workbook, visible As
Boolean, alerte As Boolean)
If objExcel Is Nothing Then
Set objExcel = New excel.Application
End If
objExcel.visible = visible
objExcel.DisplayAlerts = alerte
'check si le fichier est déja ouvert
Do Until IsFileOpen(chemin) = False
Sleep 100
DoEvents
IsFileOpen chemin
Loop
Set file = objExcel.Workbooks.Open(chemin)
End Sub

Function IsFileOpen(Filename As String)
Dim filenum As Integer, errnum As Integer
On Error Resume Next ' Turn error checking off.
filenum = FreeFile() ' Get a free file number.
' Attempt to open the file and lock it.
Open Filename For Input Lock Read As #filenum
Close filenum ' Close the file.
errnum = Err ' Save the error number that occurred.
On Error GoTo 0 ' Turn error checking back on.

' Check to see which error occurred.
Select Case errnum

' No error occurred.
' File is NOT already open by another user.
Case 0
IsFileOpen = False

' Error number for "Permission Denied."
' File is already opened by another user.
Case 70
IsFileOpen = True

' Another error occurred.
Case Else
Error errnum
End Select

End Function

"John Smith" wrote in message
news:U4lhf.31734$
ca ne marche pas dans le cas suivant
J'ouvre deux fichier par vb6 et je copie une feuille excel dans un autre
classeur.
Dim Certqc As excel.Workbook
Dim objWorkbook As excel.Workbook
Dim ws As excel.Worksheet
Set ws = Certqc.Sheets("qc")
ws.Copy Before:=objWorkbook.Sheets("Donne")
si je n'utilise pas le new ca marche. excel tourne toujours quand je le
ferme
si j'utilise le new j'ai l'erreur suivante:
Error
Method "Copy" of object" _worksheet failed



"Jacques93" wrote in message
news:eq$
Bonjour John Smith,
John Smith a écrit :
Salut,

J'ai un probleme de controle avec excel
voici mon code

Set objExcel = excel.Application
objExcel.visible = true
objExcel.DisplayAlerts = false
Set objWorkbook = objExcel.Workbooks.Open(chemindufichier)
'va cherche des donné dans excel

objWorkbook.Close
Set objWorkbook = Nothing

objExcel.visible = True
objExcel.DisplayAlerts = True
objExcel.quit
Set objExcel = Nothing
et quand je ouvre les process excel tourne toujours sans etre visible
Comment faire pour fermer excel proprement



Essaie :

Set objExcel = New Excel.Application
...

--
Cordialement,

Jacques.