sheffy222
Messages postés7Date d'inscriptionlundi 6 mars 2006StatutMembreDernière intervention16 mars 2006
-
8 mars 2006 à 13:29
cs_hania123
Messages postés5Date d'inscriptionvendredi 2 mai 2008StatutMembreDernière intervention 5 août 2008
-
30 juil. 2008 à 20:03
Bonjour
Je travail en vba et j'ai un petit problème.
J'aimerais savoir comment faire pour transférer toutes les valeurs que j'ai dans une listview vers un fichier excel déja ouvert. Je voudrais copier toutes les valeurs de la listview d'un seul coup en cliquant sur un commandbutton.
Merci d'avance et j'espere que vous aller pouvoir m'aider.
zoglub14
Messages postés62Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention16 octobre 2007 8 mars 2006 à 16:35
Bonjour,
Ci-dessous une fonction générique qui marche pour tous les listview.
Attention toutefois pour les colonnes de 9 à 12, moi j'insère des formats dates.
A toi de modifier cette partie si tu affiches autre chose. D'autre part la 1ere ligne est remplie avec les headers des colonnes de la lsitview.
@+
Zoglub
Dim I As Integer
Dim Nb_Lignes As Long
Dim Nb_Col As Integer
Dim X As Integer
Dim Y As Long
'
Application.Workbooks.Add
With MaUserform.MonListview
If .ListItems.Count > 0 Then
Nb_Col = .ListItems(1).ListSubItems.Count
Nb_Lignes = .ListItems.Count
For X = 1 To Nb_Col + 1
Cells(1, X).Value = .ColumnHeaders(X).Text
For Y = 1 To Nb_Lignes
Select Case X
Case 1
Cells(Y + 1, X).Value = (.ListItems.Item(Y).Text)
Case 9, 10, 11, 12
If .ListItems(Y).ListSubItems(X - 1).Text <> "" Then
Cells(Y + 1, X) = CDate(Format((.ListItems(Y).ListSubItems(X - 1).Text), "dd/mm/yyyy"))
End If
Case Else
Cells(Y + 1, X).Value = (.ListItems(Y).ListSubItems(X - 1).Text)
End Select
Next Y
Next X