cs_Bob06
Messages postés16Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention 4 décembre 2006
-
22 avril 2005 à 19:10
cs_Bob06
Messages postés16Date d'inscriptiondimanche 26 janvier 2003StatutMembreDerniè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
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 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