[VB6] Terminer processus excel

Résolu
aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 - 5 mai 2006 à 10:57
aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 - 5 mai 2006 à 15:40
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

aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 1
5 mai 2006 à 15:40
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
3
aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 1
5 mai 2006 à 11:00
A désolé, j'ai oublié de copier la dernière ligne qui est :


Set appExcel = Nothing
0
aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 1
5 mai 2006 à 11:40
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 :)
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
5 mai 2006 à 12:46
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 1
5 mai 2006 à 15:09
0
aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 1
5 mai 2006 à 15:11
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 :)
0
Rejoignez-nous