Importer un fichier CSV vers un listview

Razor_rws1 Messages postés 31 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 4 décembre 2008 - 11 mars 2008 à 03:04
Razor_rws1 Messages postés 31 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 4 décembre 2008 - 19 mars 2008 à 21:43
Salut, comme c'est indiqué dans le titre, je cherche un moyen simple et rapide d'importer les données d'un ficher CSV vers un listview.

Merci de votre aide! :D

10 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
11 mars 2008 à 08:37
Bonjour

Ce n'est peut être pas la plus rapide, mais c'est la plus simple :
Lire le fichier ligne/ligne et pour chaque ligne, faire un split.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
1
Razor_rws1 Messages postés 31 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 4 décembre 2008
11 mars 2008 à 19:28
Oui, j'y avais pensé, mais certain fichier font plus de 500ko, donc je cherchais une façon plus rapide de le faire. :)

Y'a t-il un autre solution plus rapide?
0
Lunikmarty Messages postés 55 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 17 avril 2008
11 mars 2008 à 20:01
Tu peux utiliser des tableaux dynamiques (un pour chaque colonne de ton fichier). A l'ouverture de ton fichier CSV, tu dimensionne tes tableau en fonction du nombre de ligne contenues dans le classeur, puis tu parcours les lignede  ton fichier en remplissant tes tableaux, puis une petite boucle sur tes tableaux pour éditer ta listview.Je pense que c'est la solution la plus rapide... mes bon, je ne suis pas un expert en VB6.
0
Razor_rws1 Messages postés 31 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 4 décembre 2008
11 mars 2008 à 22:27
Ok merci, je vais voir ce que je peux faire. Si quelqu'un connais un class ou pourrait me donner un exemple, ça sreais vraiment apprécié. :)

Merci de votre aide!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Razor_rws1 Messages postés 31 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 4 décembre 2008
12 mars 2008 à 06:18
Bon ok, j'ai trouvé comment faire, mais pour une raison que j'ignore, les données se retrouve à l'envers dans ma listview.

Voici mon code:

Public Sub LoadCSVFile(CSVFile As String, MyListview As ListView, sSeparator As String)
   Dim sLine As String
   MyListview.ColumnHeaders.Clear
   Open CSVFile For Input As #1
   i = 0
   Do Until EOF(1)
      Line Input #1, sLine
      i = i + 1
      Dim tablo() As String
      Dim i2 As Integer
      tablo = Split(sLine, sSeparator, , vbTextCompare)
      If i = 1 Then
         For i2 = 0 To UBound(tablo)
            MyListview.ColumnHeaders.Add , , tablo(i2)
            'MyListview.ListItems.Add i2 + 1, , tablo(i2)
         Next i2
      Else
         MyListview.ListItems.Add 1, , tablo(0)
         Dim i3 As Integer
         For i3 = 1 To UBound(tablo)
            MyListview.ListItems(1).SubItems(i3) = tablo(i3)
         Next i3
      End If
   Loop
   Close #1
End Sub

Quelqu'un porais m'aider à remettre de l'ordre dans ma listview svp? J'ai bien sur essayé de mettre la valeur "Sorted" à "True" mais ça ne fonctionne pas. J'aimerais égallement savoir comment éditer directement la listview lors que l'application est lancé, c'est à dire, donner la possibilité à l'utilisateur de changer certaines donneés. Je croyais qu'il y avais une simple valeur à change, du genre "EditLabel" mais je ne trouve pas.

Merci de votre patience et de votre aide! :)
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
12 mars 2008 à 13:50
Bonjour

Pour l'ordre, Mettre sorted à true c'est bien, mais il y a une prop SortColumn (ou un truc du genre) indiquant la colonne à trier.

Sinon pour l'edit, par défaut, seul la première colonne est éditable, pour les autres voici quelques liens :
http://www.vbfrance.com/infomsg_LISTVIEW-ITEM-SOUS-CURSEUR_341488.aspx
http://www.vbfrance.com/codes/PROGRESSBAR-DANS-LISTVIEW_1429.aspx

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Razor_rws1 Messages postés 31 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 4 décembre 2008
14 mars 2008 à 00:55
Ok merci :). Je me demande si je ne serais pas mieux d'utiliser un control MSFlexGrid à la place d'un listview.

Mais comme je ne connais rien au MSFlexGrid, je me demandais si tu ne pourais pas m'aider en "convertisant" mon code avec le listview en code avec un MSFlexGrid.

Merci de ton aide :)
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
14 mars 2008 à 08:43
Bonjour

Je n'ai jamais utilisé de MSFlexGrid. dsl.

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Razor_rws1 Messages postés 31 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 4 décembre 2008
15 mars 2008 à 13:50
 merci, je vais voir ce que je peux faire, une p'tite idée sur comment sauvegarder le contenu d ulistview vers un fichier .cvs?

Merci :P
0
Razor_rws1 Messages postés 31 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 4 décembre 2008
19 mars 2008 à 21:43
J'ai tout essayé mais je ne trouve pas un façon rapide et efficace de sauvegarder le contenu d'un listview vers un fichier .csv. Svp, aidez moi!! :D
0
Rejoignez-nous