Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…