Tout est dans le titre donc pas plus de chose à dire si ce n'est que bien evidemment cette exportation ne tient pas compte de la mise en page c'est à vous de la faire sous Excel (il faut bien l'utiliser quand même :-))
J'ai mis ça dans une sub c'est plus sympa pour s'en re-servir aprés.
Source / Exemple :
Public Sub Export_XLS(Liste As ListView, Filename As String)
Dim X As Integer, Y As Integer
Dim Tempo As String
' Création du fichier Excel
Open Filename For Output As #2
With Liste
' Récupère le nom des colonnes
For X = 1 To .ColumnHeaders.Count
Tempo = Tempo & CStr(.ColumnHeaders(X).Text) & Chr$(9)
Next X
' Ecriture des données des colonnes
Print #2, Tempo
' Ecriture d'une ligne vide (pas obligatoire)
Print #2, Chr$(32)
' Variable à zéro pour la suite
Tempo = ""
' Lecture ligne par ligne de la liste
For X = 1 To .ListItems.Count
' Récupère le 1er Item de la ligne X
Tempo = CStr(.ListItems(X)) & Chr$(9)
' Récupère les SubItems de X sur la même ligne
For Y = 1 To .ColumnHeaders.Count - 1
Tempo = Tempo & CStr(.ListItems(X).SubItems(Y)) & Chr$(9)
Next Y
' Ecriture des données
Print #2, Tempo
' Efface la variable
Tempo = ""
Next X
End With
Close #2
End Sub
Conclusion :
Le chr$(9) c'est pour la tabulation si vous l'oubliez vous aurez toutes les infos dans une seule et unique colonne.
J'ai testé ça sous Excel 2000 et ça marche ya aucun problème, ce serai bien de vérifier pour les autres versions quitte même à en modifier le code de façon à le rendre compatible pour les autres versions mais je ne pense pas que ce soit nécessaire.
Bonne prog à tous ^_^
@plus
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.