Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

IMPRIMER LE CONTENU D'UNE LISTVIEW


Information sur le tutorial

Catégorie :Imprimante Tutorial .NET ( DotNet ) Date de création : 02/02/2007 08:01:43 Vu : 9 074 fois

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Impression d'une listview en l'envoyant en paramètre dans une fonction

Tutorial

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


signaler à un administrateur
Commentaire de pinacolada le 26/03/2007 17:12:22

Excel...lente idée : le passage par Exel. Ce tuto me permet d'apprendre comment créer et remplir un fichier xl à partir de vb. Merci ;-)

signaler à un administrateur
Commentaire de Enoriel le 13/02/2008 18:38:59

C'est exactement ce que je cherchais et ça marche nickel ! Merci beaucoup.

signaler à un administrateur
Commentaire de chkird le 18/02/2008 10:43:27

eske ca va imprimer tt le contenu de la page ou just les controle ke je les cibles

signaler à un administrateur
Commentaire de 123collargol le 26/02/2008 18:27:10

Bonjour,
J'ai intégré ce code pour imprimer ma listview. Malheureusement j'ai un message d'erreur lorsque clique sur mon bouton de commande. Il es tci-dessous. Quel est à votre avis le problème ?
Il  y a notamment ce message "Nom du paramètre : '2' n'est pas une valeur valide pour 'index'."


Consultez la fin de ce message pour plus de détails sur l'appel du débogage
juste-à-temps (JIT) à la place de cette boîte de dialogue.

************** Texte de l'exception **************
System.ArgumentOutOfRangeException: L'argument spécifié n'était pas dans les limites de la plage des valeurs valides.
Nom du paramètre : '2' n'est pas une valeur valide pour 'index'.
   at System.Windows.Forms.ListViewSubItemCollection.get_Item(Int32 index)
   at Agenda.frmAgenda.Lancer_impression(ListView Listview)
   at Agenda.frmAgenda.cmdImprimer_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Assemblys chargés **************
mscorlib
    Version de l'assembly : 1.0.5000.0
    Version Win32 : 1.1.4322.2407
    CodeBase : file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
Agenda
    Version de l'assembly : 1.0.2978.27409
    Version Win32 : 1.0.2978.27409
    CodeBase : file:///C:/Documents%20and%20Settings/Dr%20Lebrun%20Baelden/Bureau/Agenda.exe
----------------------------------------
System.Windows.Forms
    Version de l'assembly : 1.0.5000.0
    Version Win32 : 1.1.4322.2032
    CodeBase : file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
    Version de l'assembly : 1.0.5000.0
    Version Win32 : 1.1.4322.2407
    CodeBase : file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
    Version de l'assembly : 1.0.5000.0
    Version Win32 : 1.1.4322.2032
    CodeBase : file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
Microsoft.VisualBasic
    Version de l'assembly : 7.0.5000.0
    Version Win32 : 7.10.6001.4
    CodeBase : file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------
SYSTEM.WINDOWS.FORMS.resources
    Version de l'assembly : 1.0.5000.0
    Version Win32 : 1.1.4322.573
    CodeBase : file:///c:/windows/assembly/gac/system.windows.forms.resources/1.0.5000.0_fr_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------
System.resources
    Version de l'assembly : 1.0.5000.0
    Version Win32 : 1.1.4322.573
    CodeBase : file:///c:/windows/assembly/gac/system.resources/1.0.5000.0_fr_b77a5c561934e089/system.resources.dll
----------------------------------------
mscorlib.resources
    Version de l'assembly : 1.0.5000.0
    Version Win32 : 1.1.4322.573
    CodeBase : file:///c:/windows/assembly/gac/mscorlib.resources/1.0.5000.0_fr_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L'application doit également être compilée avec le débogage
activé.

Par exemple :

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l'ordinateur
plutôt que d'être gérées par cette boîte de dialogue.

signaler à un administrateur
Commentaire de titi31183 le 23/06/2008 10:02:21

bjr à tou voila moi c'est ce que je cherche sauf que j'ai un bouton imprimer et je veux que lorsque je click dessus j'aille directement à l'ecxle j'ai remplacer le code dans le bouton imprimer et ça marche pas aidez moi svp merci d'avance

signaler à un administrateur
Commentaire de hilali_lahcen le 01/02/2009 19:08:47

bjour,
je travail des base de données avec  VB6, je voudrai que mon combobox contient les enregistrements d'une colonne de listview à l'activation de ma form, est ce quelqu'un maide merci!

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,094 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.