XL 2013 Exporter listview sur tableau excel

SIRYANICE

XLDnaute Nouveau
Salut !
Je suis nouveau sur ce site et j'aimerais savoir si il y a une possibilité pour exporter les données d'une listview sur Excel a la suite de la première exportation.
ci-joint les fichiers
 

Pièces jointes

  • prototype saisie carburant TEST.xlsm
    126.7 KB · Affichages: 10
  • test.xlsm
    107.2 KB · Affichages: 11
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour SIRYANICE, bienvenue sur XLD,

Utilisez cette macro :
VB:
Private Sub cmdbexporter_Click()
If ListView1.ListItems.Count = 0 Then Exit Sub
Dim fichier As Variant, feuille As Worksheet, lig As Long, a(), i As Long, j As Byte
fichier = Application.GetOpenFilename(Title:="CHOISSEZ LE FICHIER", FileFilter:="Fichiers Excel(*.xls*),*xls*", ButtonText:="CLIQUEZ")
If fichier = False Then Exit Sub 'Annuler
If fichier = ThisWorkbook.FullName Then Exit Sub
Application.ScreenUpdating = False
Unload Me 'ferme l'UserForm
Set feuille = Workbooks.Open(fichier).Sheets("gestion des donnees")
lig = 10 '1ère ligne de restitution
ReDim a(1 To ListView1.ListItems.Count, 1 To ListView1.ColumnHeaders.Count) 'tableau VBA, plus rapide
If feuille.Cells(lig, 1) <> "" Then feuille.Rows(lig).Resize(UBound(a)).Insert
For i = 1 To ListView1.ListItems.Count
    a(i, 1) = ListView1.ListItems(i).Text
    For j = 1 To ListView1.ColumnHeaders.Count - 1
        a(i, j + 1) = ListView1.ListItems(i).ListSubItems(j).Text
Next j, i
feuille.Cells(lig, 1).Resize(i - 1, j) = a 'restitution
End Sub
A+
 

SIRYANICE

XLDnaute Nouveau
Bonjour SIRYANICE, bienvenue sur XLD,

Utilisez cette macro :
VB:
Private Sub cmdbexporter_Click()
If ListView1.ListItems.Count = 0 Then Exit Sub
Dim fichier As Variant, feuille As Worksheet, lig As Long, a(), i As Long, j As Byte
fichier = Application.GetOpenFilename(Title:="CHOISSEZ LE FICHIER", FileFilter:="Fichiers Excel(*.xls*),*xls*", ButtonText:="CLIQUEZ")
If fichier = False Then Exit Sub 'Annuler
If fichier = ThisWorkbook.FullName Then Exit Sub
Application.ScreenUpdating = False
Unload Me 'ferme l'UserForm
Set feuille = Workbooks.Open(fichier).Sheets("gestion des donnees")
lig = 10 '1ère ligne de restitution
ReDim a(1 To ListView1.ListItems.Count, 1 To ListView1.ColumnHeaders.Count) 'tableau VBA, plus rapide
If feuille.Cells(lig, 1) <> "" Then feuille.Rows(lig).Resize(UBound(a)).Insert
For i = 1 To ListView1.ListItems.Count
    a(i, 1) = ListView1.ListItems(i).Text
    For j = 1 To ListView1.ColumnHeaders.Count - 1
        a(i, j + 1) = ListView1.ListItems(i).ListSubItems(j).Text
Next j, i
feuille.Cells(lig, 1).Resize(i - 1, j) = a 'restitution
End Sub
A+
INFINIMENT MERCI POUR VOTRE QUI ME VA SUPER BIEN
 

Discussions similaires

Statistiques des forums

Discussions
312 153
Messages
2 085 800
Membres
102 980
dernier inscrit
brossadan