Bonjour,

Voilà mon problème, je dois créer une class qui importe des données via une requête SQL dans une feuille excel et je bloque sur la connexion au SQL server.

Pouvez vous m'aider ?

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
46
47
48
Imports Microsoft.Office.Interop
 
 
Public Class Form1
    Public Sub MAIN()
        ' dans un événement click de bouton par exemple
        Dim xlApp As Excel.Application
 
        Try
            xlApp = GetObject(, "excel.application")
        Catch
            xlApp = New Excel.Application
        Finally
            xlApp.Visible = False
        End Try
 
        'ajout d'une page et sélection 
        Dim xsTransfert As Excel.Worksheet = xlApp.Workbooks.Add.ActiveSheet
 
        Try
            ' ici on crée la chaine de connexion
            ' (on se connecte à SQL Server dans notre exemple)
            With xsTransfert.QueryTables.Add(Connection:="ODBC;DRIVER=SQL Server;SERVER=NEPTUNE;APP=Microsoft® Query;DATABASE=absyss_test;Integrated Security=True")
Destination:=xsTransfert.Range("A1")
                .CommandText = "SELECT toto FROM toto" ' ou requete SELECT
                .Name = "toto"
                .FieldNames = True
                .RowNumbers = True
                .FillAdjacentFormulas = False
                .PreserveFormatting = True
                .RefreshOnFileOpen = False
                .BackgroundQuery = True
                .RefreshStyle = Excel.XlCellInsertionMode.xlOverwriteCells
                .SavePassword = False
                .SaveData = False
                .AdjustColumnWidth = True
                .RefreshPeriod = 0
                .PreserveColumnInfo = True
                .Refresh(BackgroundQuery:=False)
            End With
 
            ' affichage 
            xlApp.Visible = True
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
End Class

si vous avez des pistes ou un truc à me proposer, de plus j'ai importe la bibliothèque microsoft office librairy 11 mais il refuse mon import Microsoft.Office.Interop

Ai-je oublié une dll ou un truc du genre ?

Merci et bonne journée