Bonjour tout le monde,

Je charge une ListView avec des données stockées dans un fichier .Csv avec
le code ci-dessous, maintenant je cherche à trier cette listview par ordre alphabétique
de la 2ème colonne, dès son alimentation, vu que les données de la listview sont modifiées
dès la saisie d'un autre caractère dans la Cbx,

Mais je ne sais pas trop comment faire ça depuis un fichier csv

Auriez-vous une solution pour faire ce tri ??

Par avance merci et bon week-end


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
 
Sub ChargCbxRec()
 
' ---------------
' Remplir la LVW1
' ---------------
Dim NbreCar As Integer
Dim myFso As Object, StoCsv As Object, CsvLine As String
Dim I As Long
Dim LigneTexte  As String
Dim ColonneTexte As Variant
Dim Ligne As ListItem
Dim J As Integer
 
On Error Resume Next
 
Set myFso = CreateObject("Scripting.FileSystemObject")
 
' Gestion des erreurs
' -------------------
If CbxDes = "" Then
    UsfRec.CBX2.SetFocus
    Exit Sub
End If
 
' Nombre de caractères dans la CBX2
' ----------------------------------
NbreCar = Len(CbxDes)
 
' Vider la ListView
' -----------------
UsfRec.LVW1.ListItems.Clear
 
' Définit le fichier de recherche
' -------------------------------
Set StoCsv = myFso.OpenTextFile("C:\ARCHIVES\STOCK.csv", 1)
 
' Boucle de recherche
' -------------------
While Not StoCsv.AtEndOfStream
 
' Stockage des données lues
' -------------------------
    CsvLine = StoCsv.ReadLine
 
' Conditions de recherche
' -----------------------
    If Left(Split(CsvLine, ";")(1), NbreCar) = CbxDes Then
        If Split(CsvLine, ";")(4) = ChoixRecherche Then
            J = J + 1
 
' Remplir la LVW1
' --------------------
            ColonneTexte = Split(CsvLine, ";")
            Set Ligne = UsfRec.LVW1.ListItems.Add(, , ColonneTexte(0))
 
            With UsfRec.LVW1
                .ListItems(J).ListSubItems.Add , , Split(CsvLine, ";")(1)
                .ListItems(J).ListSubItems.Add , , Split(CsvLine, ";")(2)
                .ListItems(J).ListSubItems.Add , , Split(CsvLine, ";")(3)
                .ListItems(J).ListSubItems.Add , , Split(CsvLine, ";")(4)
                .ListItems(J).ListSubItems.Add , , Split(CsvLine, ";")(5)
                .ListItems(J).ListSubItems.Add , , Split(CsvLine, ";")(6)
           End With
        End If
    End If
Wend
 
' Fermeture du fichier lu
' -----------------------
StoCsv.Close
 
' Remise à zéro des variables
' ---------------------------
Set StoCsv = Nothing: Set myFso = Nothing: Set Ligne = Nothing
 
End Sub