begin process at 2012 02 12 19:02:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > EXPORT D'UNE LISTVIEW VERS EXCEL

EXPORT D'UNE LISTVIEW VERS EXCEL


 Information sur la source

Note :
9 / 10 - par 4 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Niveau :Débutant Date de création :09/04/2002 Date de mise à jour :09/04/2002 17:10:23 Vu :7 193

Auteur : pimousse75

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cette procédure permet d'exporter le contenu d'une listview vers un Excel. Ne pas oublier de rajouter le composant Microsoft Excel !

Source

  • Public Sub Export_Excel(My_Listview As Listview, Nbr_Lignes As Integer, Nbr_Colonnes As Integer)
  • Dim Appli As New Excel.Application
  • Dim Ligne As String
  • Dim LigneExcel As Integer
  • Dim ColExcel As Integer
  • Dim compt As Integer
  • Dim comptcol As Integer
  • Dim fso As New FileSystemObject
  • 'Rendre visible EXCEL
  • Appli.Visible = True
  • 'Créer un nouveau classeur EXCEL initialisé à la ligne 1
  • Appli.Workbooks.Add.Activate
  • DoEvents
  • LigneExcel = 1
  • ColExcel = 1
  • 'MsgBox Appli.Workbooks.Count
  • ' Affecter les données de la listbox dans les cellules de la feuille
  • With ActiveWorkbook.Worksheets("Feuil1")
  • 'Insere le nom des entetes de colonnes
  • For comptcol = 0 To Nbr_Colonnes - 1
  • .Cells(LigneExcel, ColExcel) = My_Listview.ColumnHeaders(comptcol + 1)
  • ColExcel = ColExcel + 1
  • Next comptcol
  • ColExcel = 1
  • LigneExcel = LigneExcel + 1
  • 'Inscrire le contenu d'une listview dans la feuille 1 d'un classeur EXCEL
  • For compt = 0 To My_Listview.ListItems.Count - 1
  • 'On boucle sur les colonnes
  • For comptcol = 0 To Nbr_Colonnes - 1
  • If comptcol = 0 Then
  • .Cells(LigneExcel, ColExcel) = My_Listview.ListItems.item(LigneExcel - 1)
  • Else
  • .Cells(LigneExcel, ColExcel) = My_Listview.ListItems.item(LigneExcel - 1).ListSubItems(comptcol)
  • End If
  • ColExcel = ColExcel + 1
  • Next comptcol
  • ColExcel = 1
  • LigneExcel = LigneExcel + 1
  • Next compt
  • End With
  • 'Pour mettre l'entête des colonnes en gras
  • ActiveWorkbook.Worksheets("Feuil1").Range("A1:" & Chr(65 + Nbr_Colonnes - 1) & "1").Font.Bold = True
  • 'Pour ajuster les colonnes
  • ActiveWorkbook.Worksheets("Feuil1").Range("A:" & Chr(65 + Nbr_Colonnes - 1)).Columns.AutoFit
  • End Sub
Public Sub Export_Excel(My_Listview As Listview, Nbr_Lignes As Integer, Nbr_Colonnes As Integer)
    Dim Appli As New Excel.Application
    Dim Ligne As String
    Dim LigneExcel As Integer
    Dim ColExcel As Integer
    Dim compt As Integer
    Dim comptcol As Integer
    Dim fso As New FileSystemObject
    
    'Rendre visible EXCEL
    Appli.Visible = True
    

    'Créer un nouveau classeur EXCEL initialisé à la ligne 1
    Appli.Workbooks.Add.Activate
    DoEvents
    LigneExcel = 1
    ColExcel = 1

    'MsgBox Appli.Workbooks.Count
    
    ' Affecter les données de la listbox dans les cellules de la feuille
    With ActiveWorkbook.Worksheets("Feuil1")
    
    
    'Insere le nom des entetes de colonnes
    For comptcol = 0 To Nbr_Colonnes - 1
        .Cells(LigneExcel, ColExcel) = My_Listview.ColumnHeaders(comptcol + 1)
        ColExcel = ColExcel + 1
    Next comptcol
    
    ColExcel = 1
    LigneExcel = LigneExcel + 1
    
    'Inscrire le contenu d'une listview dans la feuille 1 d'un classeur EXCEL
    For compt = 0 To My_Listview.ListItems.Count - 1
        
        'On boucle sur les colonnes
        For comptcol = 0 To Nbr_Colonnes - 1
                If comptcol = 0 Then
                    .Cells(LigneExcel, ColExcel) = My_Listview.ListItems.item(LigneExcel - 1)
                Else
                    .Cells(LigneExcel, ColExcel) = My_Listview.ListItems.item(LigneExcel - 1).ListSubItems(comptcol)
                End If
        ColExcel = ColExcel + 1
        Next comptcol
    
    
    ColExcel = 1
    LigneExcel = LigneExcel + 1
    Next compt
    
    End With
    
    'Pour mettre l'entête des colonnes en gras
    ActiveWorkbook.Worksheets("Feuil1").Range("A1:" & Chr(65 + Nbr_Colonnes - 1) & "1").Font.Bold = True
    'Pour ajuster les colonnes
    ActiveWorkbook.Worksheets("Feuil1").Range("A:" & Chr(65 + Nbr_Colonnes - 1)).Columns.AutoFit
    
End Sub
 



 Sources du même auteur

GÉNÉRATION DE FICHIER EXCEL ET AJOUT DE PIÈCE JOINTE !
FERMER AU BOUT D'UN CERTAIN TEMPS D'INACTIVITE VOTRE PROGRAM...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

Commentaires et avis

Commentaire de jeremyM le 10/04/2002 17:23:45

Tu pourrais faire l'inverse ??
Là sa deviendrait vraiment interressant...

Commentaire de pimousse75 le 10/04/2002 20:29:31

T'as tous les éléments pour le faire !
C'est pas beau d'être grincheux...

Commentaire de jeremyM le 11/04/2002 12:20:32

pour me rattrapper je te met une bonne note parceque ce code est quand même interressant >>>>>>> 9/10

Commentaire de pimousse75 le 11/04/2002 13:54:31

Merci c'est gentil :)

Commentaire de z980x le 17/12/2003 08:14:44

Ajouter, le composant excel? Ok, je l'ai ajouté, mais après? Moi il s'appelle Sheet1 (par défaut). Dans ton code, que dois je remplacer pour que ce soit Sheet1?

Voila merci

Commentaire de Ken2K le 21/07/2004 11:24:19

nickel j'en avais justement besoin

GG

Commentaire de Ken2K le 21/07/2004 11:59:01

par contre si marche uniquement, quand le Nbr_colonnes < 26 sinon sa bug dans la derniere partie Range.....

Commentaire de gredellisse le 15/02/2005 18:30:43

le code d'export vers excel 2003 fontionne 1 fois puis il ne fonctione plus !!!!

Commentaire de Red_Dragon le 16/01/2007 15:34:37

> GREDELISSE : pour éviter ton problème je te conseille de remplacer toutes les occurences de "ActiveWorkbook" par "Appli.ActiveWorkbook", c'est à dire aux lignes 23, 56 et 58.
La nature n'aime pas le vide :)

Commentaire de zourajo le 14/02/2011 16:21:15

merci mais il m'a dit que Excel.Application
n'est pas defini  et FileSystemObject aussi!!!pourquoi ainsi que j'ai l'exel sur mon pc!!
merci

Commentaire de badap le 11/03/2011 20:15:26

je vais esaye

 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,874 sec (3)

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