Fermer excel après Getobject/CreateObject

Fermer excel après Getobject/CreateObject - VB/VBA/VBS - Programmation

Marsh Posté le 29-08-2005 à 11:32:48    

Bonjour à tous,  
à partir d'access j'importe des données d'excel mais impossible de fermer excel à la fin du programme (il reste dans le task manager) même en utilisant quit et nothing. J'ai fait le même programme que le suivant mais avec un CreateObject + quit. Ne marche pas non plus. L'application se ferme bien quand il n'y a pas la ligne DoCmd... Pourtant, quand il n'y a que cette ligne, aucune instance Excel ne s'ouvre. Il doit y avoir qqch qui maintient Excel ouvert mais j'arrive pas à voir quoi
 
Merci pour votre aide
 
 
Sub execution()  
 
Dim var As Integer  
Dim objXL As Object  
 
Dim wbexcel As Object  
 
Dim requete, requete1, requete2, requete3 As String  
Dim adresse As String  
Dim nb_lignes As Integer  
Dim vari As Long  
   
     
    adresse = "D:\DailyMonitor" + Form_Formulaire1.Texte0.Value + ".xls"  
    Set objXL = GetObject(adresse)  
     
    vari = Form_Formulaire1.Texte0.Value  
 
       
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Titres", adresse, True, "Controls!W4:AA546"  
     
     
    objXL.Sheets("Controls" ).columns("Y:AA" ).Delete  
     
     
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Volat", adresse, True, "Controls!X4:AN546"  
     
    objXL.Sheets("Stocks" ).Range("W9" ) = "Returns 1-m"  
    objXL.Sheets("Stocks" ).Range("X9" ) = "Returns 3-m"  
    objXL.Sheets("Stocks" ).Range("Y9" ) = "Returns 6-m"  
    objXL.Sheets("Stocks" ).Range("Z9" ) = "Returns 1-y"  
    objXL.Sheets("Stocks" ).columns("C:S" ).Delete  
    objXL.Sheets("Stocks" ).Range("B9" ) = "RIC"  
     
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Returns", adresse, True, "Stocks!B9:J551"    
    objXL.Sheets("Stocks" ).columns("C:J" ).Delete  
     
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Liquidity", adresse, True, "Stocks!B9:H551"      
    objXL.Sheets("Stocks" ).columns("C:J" ).Delete  
    objXL.Sheets("Stocks" ).columns("E:H" ).Delete  
   
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Indicators", adresse, True, "Stocks!B9:F551"    
 
     
    requete = "UPDATE Volat SET Volat.Datum =" + vari + " WHERE Volat.Datum=0"  
    DoCmd.RunSQL requete  
    requete1 = "UPDATE Indicators SET Indicators.Datum =" + vari + " WHERE (((Indicators.Datum)=0))"  
    DoCmd.RunSQL requete1  
    requete2 = "UPDATE Liquidity SET Liquidity.Datum =" + vari + " WHERE (((Liquidity.Datum)=0))"  
     DoCmd.RunSQL requete2  
    requete3 = "UPDATE Returns SET Returns.Datum =" + vari + " WHERE (((Returns.Datum)=0))"  
    DoCmd.RunSQL requete3  
     
   
  Set wbexcel = Nothing  
    Set objXL = Nothing  
 
End Sub  

Reply

Marsh Posté le 29-08-2005 à 11:32:48   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed