Quand je me connecte à un fichier excel et je récupère ses données..le processus [Résolu]

Signaler
Messages postés
21
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 mai 2011
-
Messages postés
21
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 mai 2011
-
bonjour ,
SVP j'ai besoin de votre aide : je suis en train de développer une application sous VB.NET 2005 express....et parmi les taches que je dois réaliser et de récupérer certaines données d'un fichier excel ..cepednant..quand je ferme la connexion...plusieurs nouveaux fichiers excel se créent: classeur1,classeur2,classeur3......etc et quand je consulte le gestionnaire des taches de windows..je trouve qu'il y a plusieurs processus nommés EXCEL !!et pui aprés chaque réouverture..on me dit que mon fichier est en écriture seule!!
qu'est ce que je dois faire??
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Form11.Show()
        Me.Hide()

        Dim objXL As Microsoft.Office.Interop.Excel.Application

        objXL = CreateObject("Excel.Application")
        Dim wbXL As Microsoft.Office.Interop.Excel.Workbook = objXL.Workbooks.Add()
        Dim wsXL As Microsoft.Office.Interop.Excel.Worksheet = objXL.Worksheets.Add()

        ''Ouvre Excel

        wbXL = objXL.Workbooks.Open("C:\d.xlsx")
        wsXL = objXL.Worksheets(2)

        'Ecrit dans les cellules B1 et B2

        'wsXL.Cells(4, 2).Value = "Comment vas-tu ?"
        'wsXL.Cells(5, 1).Value = "afen al binome"
        'wsXL.Cells(5, 2).Value = "zyyer m3aya"
        Dim tab As String
        Dim i As Integer
        For i = 1 To 6
            tab = wsXL.Cells(i, 1).Value
            MsgBox(tab)
        Next

        objXL.Workbooks.Close()

        'wbXL.Close()
        objXL.Visible = False

        wsXL = Nothing
        wbXL = Nothing
        objXL = Nothing


    End Sub

4 réponses

Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
5
Arf désolé, j'ai posté trop vite sans me relire.

ReCorrection
'Cré une nouvelle instance d'excel
Dim objXL As New Microsoft.Office.Interop.Excel.Application

Try
      
        Dim wbXL As Microsoft.Office.Interop.Excel.Workbook 
        Dim wsXL As Microsoft.Office.Interop.Excel.Worksheet 

        ''Ouvre le classeur d.xlsx
        wbXL = objXL.Workbooks.Open("C:\d.xlsx")
        wsXL = wbXL.Worksheets(2)

        Dim tab As String
        Dim i As Integer
        For i = 1 To 6
            tab = wsXL.Cells(i, 1).Value
            MsgBox(tab)
        Next

        'Fermer le classeur avec sauvegarde
        wbXL.Close(True)

Finally
        'Quitte l'instance d'excel meme en cas d'erreur
        objXL.Quit()
End Try
Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
5
Bonjour,

Il vous cré plusieur fichiers car à chaque fois vous faite
Dim wbXL As Microsoft.Office.Interop.Excel.Workbook = objXL.Workbooks.Add()


Et vous avez plusieur instances d'excel dans le gestionnaire car vous ne quittez jamais l'application.

Il faut donc faire :
Try
        'Cré une nouvelle instance d'excel
        Dim objXL As New Microsoft.Office.Interop.Excel.Application

        Dim wbXL As Microsoft.Office.Interop.Excel.Workbook 
        Dim wsXL As Microsoft.Office.Interop.Excel.Worksheet 

        ''Ouvre le classeur d.xlsx
        wbXL = objXL.Workbooks.Open("C:\d.xlsx")
        wsXL = objXL.Worksheets(2)

        'Ecrit dans les cellules B1 et B2
        'wsXL.Cells(4, 2).Value = "Comment vas-tu ?"
        'wsXL.Cells(5, 1).Value = "afen al binome"
        'wsXL.Cells(5, 2).Value = "zyyer m3aya"
        Dim tab As String
        Dim i As Integer
        For i = 1 To 6
            tab = wsXL.Cells(i, 1).Value
            MsgBox(tab)
        Next

        'Fermer le classeur avec sauvegarde
        wbXL.Close(True)

Finally

        'Quitte l'instance d'excel meme en cas d'erreur
        objXL.Quit()
End Try
Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
5
Petite correction
wsXL = wbXL.Worksheets(2)
Messages postés
21
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 mai 2011

merciiiiiiiii