begin process at 2012 02 16 20:25:48
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Imprimante

 > IMPRIMER LE CONTENU D'UNE LISTVIEW

IMPRIMER LE CONTENU D'UNE LISTVIEW


 Information sur le tutoriel

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

 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


Commentaires

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 ;-)

Commentaire de Enoriel le 13/02/2008 18:38:59

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

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

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.

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

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!

Commentaire de nono78220 le 27/04/2010 19:16:38

Bonsoir,

Est ce que ce code fonctionne si la listview con tient des cases à cocher ?
Il me semble que cela peut générer une erreur.

Commentaire de Le Pivert le 30/07/2010 08:09:44

Bonjour,
Merci à fauve pour ce tuto.Je m'en suis servi pour faire ce programme:

http://www.vbfrance.com/codes/LISTVIEW_TRI_EXTENSIONS_50894.aspx

Cela fonctionne très bien même avec des cases à cocher.
@+ Le Pivert

Commentaire de kaid55 le 19/03/2011 21:43:17

Bonjour a tous

j'ai suivi le tutoriel pas à pas mais ça ne marche pas . j'ai un bouton imprimer qui doit permettre l'impression de ma Listview. le message d'erreur est le suivant:Erreur de compilation variable non definie.
Dans la ligne suivante :  S1 = Application.StartupPath  
l'expression Application est colorée en bleu.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales