begin process at 2010 03 21 10:46:23
  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 :5 839

Auteur : pimousse75

Ecrire un message privé
Commentaire sur cette source (9)
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 avec une capture TRAITEMENT DES NOMS DE FICHIERS. par artgile
Source avec Zip Source .NET (Dotnet) GESTION DE PARC AUTOMOBILE AVEC SÉRIALISATION par guyr07
Source avec Zip Source avec une capture Source .NET (Dotnet) FICHIERS_CACHÉS_LECTURE_SEULE par Le Pivert
Source avec Zip Source avec une capture CHANGEUR D'ICONES par djgab21
Source .NET (Dotnet) DIRECTDISKACCESS par XelectroX

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

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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 : 2,090 sec (3)

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