tri

babou466

XLDnaute Junior
Bonjour à tous, je cherche une procédure toute simple de tri par ordre croissant des x valeurs d’une colonnes, est ce que quelqu’un pourrait me venir en aide ? je n’arrive pas bien à gérer la variable de stockage et le fait de faire remonter progressivement toutes les valeurs de ma colonne…
merci
 

babou466

XLDnaute Junior
Re : tri

en fait j'ai tenté ce code...qui ne fonctionne absolument pas...
Sub tri_par_ordre_croissant()

Dim vlNbLigne As Integer
Dim vlLigne As Integer
Dim vlStockage As Integer
Dim tableau(1 To 5) As Variant

vlLigne = 1
vlNbLigne = 0

While Cells(vlLigne, 1).Value <> ""
vlNbLigne = vlNbLigne + 1
Wend

For vlLigne = 1 To vlNbLigne
If Cells(vlLigne, 1).Value < Cells(vlLigne - 1, 1).Value Then
vlStockage = Cells(vlLigne, 1).Value
tableau(vlLigne) = tableau(vlLigne - 1)
vlNbLigne = vlNbLigne - 1
End If
Next vlLigne

End Sub
 

babou466

XLDnaute Junior
Re : tri

enfin plutôt de cette façon:
Sub tri_par_ordre_croissant()

Dim vlNbLigne As Integer
Dim vlLigne As Integer
Dim vlStockage As Integer
Dim tableau(1 To 5) As Variant

vlLigne = 1
vlNbLigne = 5


For vlLigne = 1 To 5
If Cells(vlLigne, 1).Value < Cells(vlLigne - 1, 1).Value Then
vlStockage = Cells(vlLigne, 1).Value
tableau(vlLigne) = tableau(vlLigne - 1)
vlNbLigne = vlNbLigne - 1
End If
Next vlLigne

End Sub
 

ROGER2327

XLDnaute Barbatruc
Re : tri

Bonjour.
À babou466 : pour sélectionner une plage selon votre principe, je pense que la syntaxe correcte est :
Code:
Range(Cells([I]l1[/I], [I]c1[/I]), Cells([I]l2[/I], [I]c2[/I])).Select
l1 est le rang de la première ligne à sélectionner, c1 celui de la première colonne, l2 celui de la dernière ligne et c2 celui de la dernière colonne.​
Bon courage !
ROGER2327
 

babou466

XLDnaute Junior
Re : tri

si je souhaite maintenant trier des lignes d'un tableau(X,3), de façon décroissante, suivant le critère de ma troisième colonne comment dois je procéder?

est ce que la sélection se fait de cette façon:
Range(Cells(dernière ligne, dernière colonne), Cells(première ligne , première colonne)).Select
et après comment faire?

merci
 

Discussions similaires

Réponses
10
Affichages
456

Statistiques des forums

Discussions
312 488
Messages
2 088 862
Membres
103 979
dernier inscrit
imed