XL 2016 Trier les lignes

labombola46

XLDnaute Nouveau
Je voudrais une macro Excel VBA: J’ai une plage C2: G98 contenant dans chaque ligne 5 nombres différents non ordonnés (1/90), la macro devrait trier les 97 lignes de manière croissante cela ne semble pas fonctionner
Sub Trierleslignes()

Dim rng As Range
Set rng = Worksheets("Pippo").Range("C2:G98")

Dim i As Long
For i = 2 To 98
rng.Rows(i).Sort key1:=Range("C" & i), _
order1:=xlAscending, Header:=xlNo
Next i

End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir labombola46,
C'est dommage qu'au 26ème message on vous demande de relire notre charte (Lien) :
Lorsqu’on rentre sur un fil, comme dans la vie de tous les jours, on est poli en disant « Bonjour ».
Je ne pense pas qu'on puisse trier des lignes avec cette méthode, le Sort se fait sur une colonne, mais peut être me trompe-je. :)
Une autre possibilité avec :
VB:
Sub Tri()
    Dim tablo, L%, i%, j%
    tablo = Worksheets("Pippo").Range("C2:G98")
    For L = 1 To 97
        For i = 1 To 5
            For j = i + 1 To 5
                If tablo(L, i) < tablo(L, j) Then
                    Buffer = tablo(L, i): tablo(L, i) = tablo(L, j): tablo(L, j) = Buffer
                End If
            Next j
        Next i
    Next L
    Sheets("Pippo").[C2].Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
End Sub
 

labombola46

XLDnaute Nouveau
Encore une fois bonsoir, je voulais dire à Sylvanu que la macro fonctionne exactement à l’opposé de ce que je voulais. Maintenant, je commande les 97 rangées de la plus grande à la plus petite, au lieu de cela, je voulais dire de +small à +large. Que dois-je changer?
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35