'
'
Sub Lancer_impression(ByVal Listview As ListView)
Dim S1 As String
Dim FNxls As String
Dim iCol As Integer
Dim oXL As Object
Dim oBook As Object
Dim oSheet As Object
Dim monProcess As New Process()
S1 =Application.StartupPath ' Retourne le chemin d'accèsde l'application
If Mid(S1, Len(S1) - 1) <> "\" Then S1 = S1 & "\"
FNxls = S1 & "Excel.xls"
' Creer l'application XL
oXL = CreateObject("Excel.Application")
oBook = oXL.Workbooks.Add ' Ajout d'un classeur
oSheet = oBook.Worksheets(1) ' Ajout d'une feuille
With oSheet
For i Asinteger = 0 To ListView.Columns.Count - 1 ' Permet d'ajouter les nomsdes colonnes de la listview passer en paramètre dans le fichier XL
.Cells(1, i+1) = ListView.Columns(i).Text
Next
'Boucle ajoutant tout les items contenus dans la ListView dans lefichier excel
For iCol = 0 To ListView.Items.Count - 1
lvItem = ListView.Items(iCol)
.Cells(iCol + 3, 1) = lvItem.SubItems(0).Text
.Cells(iCol + 3, 2) = lvItem.SubItems(1).Text
.Cells(iCol + 3, 3) = lvItem.SubItems(2).Text
.Cells(iCol + 3, 4) = lvItem.SubItems(3).Text
.Cells(iCol + 3, 4).HorizontalAlignment = 3 ' Permet de centrer dans lacellule ( 2 : à gauche 3 : centrer 4 : à droite )
' Ligne précédente peut être supprimé si pas de formatage voulu pourles cellules
.Cells(iCol + 3, 5) = lvItem.SubItems(4).Text
.Cells(iCol + 3, 5).HorizontalAlignment = 3
.Cells(iCol + 3, 6) = lvItem.SubItems(5).Text
.Cells(iCol + 3, 6).HorizontalAlignment = 3
.Cells(iCol + 3, 7) = lvItem.SubItems(6).Text
.Cells(iCol + 3, 7).HorizontalAlignment = 3
Next
End With
' 1° Ligne : Titres en Gras
oSheet.Rows(1).Font.Bold = True
' Largeur des colonnes
oSheet.Columns("A:A").ColumnWidth = 33.71 ' Colonne 1
oSheet.Columns("B:B").ColumnWidth = 33.71 ' Colonne 2
' Paramétrer les marges de la feuille
oSheet.PageSetup.LeftMargin= 0.393700787401575 ' Marge de gauche
oSheet.PageSetup.RightMargin = 0.393700787401575 ' Marge de droite
oSheet.PageSetup.TopMargin =0.393700787401575 ' Marge du haut
oSheet.PageSetup.BottomMargin = 0.393700787401575 ' Marge du bas
' Afficher le quadrillage sur la feuille
oSheet.PageSetup.PrintGridlines = True
' Afficher le tableau de manière centrer horizontalement sur la feuille
oSheet.PageSetup.CenterHorizontally = True
' Paramétrer la feuille en mode Paysage oSheet.PageSetup.Orientation 2 ' ( 1 : Portrait )
oXL.ActiveSheet.printout() ' Lancer l'impression
oXL.Quit() ' Ferme le processus
End Sub
'
'