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 49 50 51 52 53 54
   |  
 
Imports Excel
 
Public Class Form2
    Private Sub Form2_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
        ' dans un événement click de bouton par exemple
        Dim xlApp As New Excel.Application
        'Si mon fichier existe je le delete
        If System.IO.File.Exists("C:\toto.xls") = True Then
            Kill("C:\toto.xls")
        End If
        '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=XXXX;APP=Microsoft® Query;DATABASE=XXXXX;Integrated Security=True", Destination:=xsTransfert.Range("A1"))
                .CommandText =  ' ou requete SELECT"
                .Name = "feuil1"
                .FieldNames = True
                .RowNumbers = True
                .FillAdjacentFormulas = False
                .PreserveFormatting = True
                .RefreshOnFileOpen = False
                .BackgroundQuery = True
                .RefreshStyle = Excel.XlCellInsertionMode.xlOverwriteCells
                .SavePassword = False
                .SaveData = True
                .AdjustColumnWidth = True
                .RefreshPeriod = 0
                .PreserveColumnInfo = True
                .Refresh(BackgroundQuery:=False)
            End With
 
            ' affichage 
            xlApp.Visible = False
            'Gestion d'erreur
        Catch ex As Exception
            MsgBox("Va bosser ca marche pas !")
            MessageBox.Show(ex.Message)
        End Try
        'Sauvegarder le resultat de la requete SQL qui est copier dans mon fichier Excel
        xsTransfert.SaveAs("C:\toto.xls")
        'Pour enlever le message "voulez vous sauvegarder..."
        xlApp.DisplayAlerts = True
        'Quit Excel
        xlApp.Quit()
        'Libérer les ressources
        xlApp = Nothing
        xsTransfert = Nothing
        'Detruire les process EXCEL.EXE
        GC.Collect() | 
Partager