Tri dans MSFlexgrid

cs_Bob06 Messages postés 16 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 4 décembre 2006 - 22 avril 2005 à 19:10
cs_Bob06 Messages postés 16 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 4 décembre 2006 - 23 avril 2005 à 09:52
Bonjour à tous

J'ai un petit souci de tri dans un (ou une) MSFlexGrid.
Voilà, j'aimerais trier 2 colonnes à la fois dans ce controle.
Exemple:
Colonne1 Colonne2 (Chaque date est rataché a un nom)
Pierre 12/10/05
Paul 15/03/02
Jean 05/06/04
Albert 21/08/05
.... ....
Ce que j'aimerais faire, c'est le tri alphabetique de la colonne1 et en même temps trier la colonne2 en respectant le ratachement de la date au nom pour chaque ligne.
(Finalement c'est ce que fait Excel quand on tri une colonne tous les autres sont triées aussi)
C'est super sympa de bien vouloir m'aider et je vous remercie d'avance.
Bob06

2 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
22 avril 2005 à 19:51
Voici un exemple de tri de colonne par un Combobox, évidement cet exemple repli la MSFlexGrid avec des données dont tu n'as pas besoin, mais cela va surement t'aider pour le tri.

Private Sub Combo1_Click()
' Sélectionne une colonne en fonction de la méthode de tri.
Select Case Combo1.ListIndex
Case 0 To 2
MSFlexGrid1.Col = 1
Case 3 To 4
MSFlexGrid1.Col = 2
Case 4 To 8
MSFlexGrid1.Col = 1
End Select
' Trie en fonction de Combo1.ListIndex.
MSFlexGrid1.Sort = Combo1.ListIndex
End Sub
Private Sub Form_Load()
Dim i As Integer
' Remplit MSFlexGrid avec des données aléatoires.
MSFlexGrid1.Cols = 3 ' Crée trois colonnes.

For i = 1 To 11 ' Ajoute 10 éléments.
MSFlexGrid1.AddItem ""
MSFlexGrid1.Col = 2
MSFlexGrid1.TextMatrix(i, 1) = SomeName(i)
MSFlexGrid1.TextMatrix(i, 2) = Rnd()
Next i
' Remplit la liste modifiable avec les choix de tri
With Combo1
.AddItem "flexSortNone" ' 0
.AddItem "flexSortGenericAscending" '1
.AddItem "flexSortGenericDescending" '2
.AddItem "flexSortNumericAscending" '3
.AddItem "flexSortNumericDescending" '4
.AddItem "flexSortStringNoCaseAsending" '5
.AddItem "flexSortNoCaseDescending" '6
.AddItem "flexSortStringAscending" '7
.AddItem "flexSortStringDescending" '8
.ListIndex = 0
End With
End Sub


Private Function SomeName(i As Integer) As String
Select Case i
Case 1
SomeName = "Ann"
Case 2
SomeName = "Glenn"
Case 3
SomeName = "Sid"
Case 4
SomeName = "Anton"
Case 5
SomeName = "Hoagie"
Case 6
SomeName = "Traut 'Trane"
Case 7
SomeName = "MereD Wah"
Case 8
SomeName = "Kemp"
Case 9
SomeName = "Sandy"
Case 10
SomeName = "Lien"
Case 11
SomeName = "Randy"
End Select
End Function

jpleroisse
0
cs_Bob06 Messages postés 16 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 4 décembre 2006
23 avril 2005 à 09:52
Cette aide m'est précieuse
Merci à jpleroisse
0
Rejoignez-nous