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
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
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
en fait je voudrait trier une colonne que je n'ai pas définie comme un tableau, mais ça semble nécesaire non?
et pardon dans mon dernier code je pensais plutôt:
For vlLigne = 1 To vlNbLigne
merci beaucoup, c'est impecable; cependant est ce que dans un programme je peux m'exprimer en range("cells( ...).value:cells(...).value").select pour la plage sélectionnée à trier?
où 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.
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?