[VB6] Terminer processus excel

Résolu
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
-
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
-
Salut!

J'ai lu plusieus topics sur ce sujet, mais aucune réponse...

Donc j'ai mon programme en VB6 qui ouvre 1 feuille excel, puis n feuilles Excel en meme temps que la première.
Voici mon code :


Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

' variables excel pour les autres fichiers .txt
Dim wbExcel2 As Excel.Workbook 'Classeur Excel
Dim wsExcel2 As Excel.Worksheet 'Feuille Excel

'Ouverture d'Excel
Set appExcel = CreateObject("Excel.Application")

'Ouverture du fichier texte dans Excel
Workbooks.OpenText FileName:=LireINI("G150", "PathOut") + "G150.txt", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
appExcel.Visible = False

' on affecte les variables d'environements d'excel
Set wbExcel = appExcel.ActiveWorkbook
Set wsExcel = wbExcel.ActiveSheet

For i = 0 To (nbrFichier - 1) Step 1
'Ouverture d 'un fichier texte d'OF avec Excel
appExcel.Workbooks.OpenText FileName:=LireINI("G150", "PathOF") + listFichiers(i), Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

' on affecte les variables d'environnement
Set wbExcel2 = appExcel.ActiveWorkbook
Set wsExcel2 = wbExcel2.ActiveSheet

' on ferme le fichier d'OF en cours
wbExcel2.Close False
Set wbExcel2 = Nothing
Next i

' on sauvegarde le fichier texte final en fermant Excel
wbExcel.Close True
Set wbExcel = Nothing
appExcel.Quit


Tout marche très bien, le seul gros soucis est qu'il me reste un processus Excel.exe tant que mon programme tourne...
Comment faire pour qu'il se ferme svp?

Merci pour votre aide :)

6 réponses

Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
C'est bon :)

Solution :

j'avais oublié appExcel devant l'ouverture du fichier :(

Set appExcel = CreateObject("Excel.Application")

'Ouverture du fichier texte dans Excel
appExcel.Workbooks.OpenText FileName:=LireINI("G150", "PathOut") + "G150.txt", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
A désolé, j'ai oublié de copier la dernière ligne qui est :


Set appExcel = Nothing
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
J'ai utilsé un module pour tuer les processus... en attendant d'avoir mieux.
Par contre j'ai un deuxième soucis, lorsque je relance le code au dessus, sans avoir quitté l'application, j'ai ce message d'erreur sur cette ligne, comprend pas :(

Workbooks.OpenText FileName:="C:\G150.txt", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

Message d'erreur :
Erreur d'exécution 462
Le serveur distant n'existe pas ou n'est pas disponible.


????
Si quelqu'un peut m'aider svp :)
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

pour ton 1er problème tu trouveras Peut-Etre une solution vers ce lien, longue discussion avec un Programmeur qui a eu le même problème :

http://www.vbfrance.com/infomsg/PROCESSUS-VBA-0_726950.aspx

@ ++
Mortalino
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
j'ai essayé toutes les modifs proposé dans le topic, rien :(

J'ai aussi fais :

MsgBox appexcel.workbooks.count
appExcel.Quit

Ca m'affiche 0 ... :(

Help me please :)