Bonjour,
actuellement je developpe une application en VB.net qui utilise la reference Excel 11.0 pour permettre a mon programme d'exporter des données stockées dans une base de données Access vers Excel ( a des endroits précis cf code : j'utilise les objets excel : excel.Cells(1, 1) par exemple pour ecrire du texte dans la premiere ligne/ premiere colone

mon code est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
----------------------------------------------------------------------
'CLASSE EXCEL POUR INITIALISER ,EXPORTER ,TERMINER L'OBJET EXCEL
----------------------------------------------------------------------
Imports System.Data.OleDb
Imports Excel
 
Public Class Excel
    Shared ProcId As Integer
    Shared wBook As Global.Excel.Workbook
    Shared wSheet As Global.Excel.Worksheet
    Shared excel As Global.Excel.ApplicationClass
 
    Shared Sub Export(ByVal Xlfile As String, ByVal Xlsheet As String, ByVal Dr As OleDbDataReader, ByVal fromCol As Integer)
        initialseExcel()
        wBook = excel.Workbooks.Open(Xlfile)
        wSheet = wBook.Sheets(Xlsheet)
        While Dr.Read
            For i As Integer = 0 To Dr.FieldCount - 1
                excel.Cells(fromCol, i + 1) = Dr(i).ToString
            Next
            fromCol += 1
        End While
        wBook.Save()
        destroyExcel()
    End Sub
'initialise excel
    Shared Sub initialseExcel()
        excel = New Global.Excel.ApplicationClass
    End Sub
'terminer excel "killprocess"
    Shared Sub destroyExcel()
        Dim ExcelProcess() As Process = Process.GetProcesses()
        Dim j As Integer
        For j = 0 To ExcelProcess.GetUpperBound(0)
            If ExcelProcess(j).ProcessName = "EXCEL" Then
                ProcId = ExcelProcess(j).Id
                Exit For
            End If
        Next j
        If ProcId = 0 Then Exit Sub
        Process.GetProcessById(ProcId).Kill()
    End Sub
 
End Class
puis j'apelle dans mon code d'export vers excel comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
            Excel.Export(FileSaver.FileName, "RapObs", DataAccess.getReader("select * from observations", Nothing), 15)
où dataaccess est une classe avec la methode getReader qui renvoi tout simplement un OledbDataReader


tout ca c'est que pour vous donner une idée

le probleme est le suivant :
au niveau de l'export des données vers excel meme si je specifie le nom du classeur : sheet("RapObs") dans cet exemple le programme ne change pas de classeur ==> resultat les données sont toujours écrites dans le meme sheet !!

merci de votre aide

et longue vie a Developpez.net