Trier un tableau sous excel horizontalement avec VBA(résolu)

Trier un tableau sous excel horizontalement avec VBA(résolu) - VB/VBA/VBS - Programmation

Marsh Posté le 18-11-2006 à 18:28:44    

Bonsoir à tous,
 
Soit un tableau de ce type:
 
74 24 41 44 4
17 3   61 41 22
54 32 19 11  8
 
Je voudrais:
4 24 41 44 74
3 17 22 41 61
8 11 19 32 54
 
Mon tableau comporte un nombre indéterminé de lignes, ce nombre pouvant être important, je cherche à créer une macro.
 
Range("A1:J150" ).Select
'Sélectionner mon tableau
Selection.Sort Key1:=Range("A1" ), Order1:=xlAscending, OrderCustom:=1, Orientation:=xlLeftToRight
Trier de la gauche vers la droite par ordre croissant.
 
La première ligne du tableau est bien triée mais impossible de le faire pour tout mon tableau. J'ai essayé de remplacer Range("A1" ) par Range(Selection.Address) mais ça ne change rien. Il faut peut-être créer une boucle  du type For i=1 To...ou For Each Row ou encore For Rows(i)...mais je sèche.Ou alors, je me casse la tête pour rien en utilisant une macro. Mais quand je vais manuellement dans Données/Trier/Options/De la gauche vers la droite/Trier par, je n'ai que trois clés et encore ça ne fonctionne que pour la 1ère ligne.Je précise que le tri vertical ne m'intéresse pas.
Merci pour votre aide.


Message édité par TAM136 le 18-11-2006 à 20:18:27
Reply

Marsh Posté le 18-11-2006 à 18:28:44   

Reply

Marsh Posté le 18-11-2006 à 18:44:27    

Bonsoir,
coucou comment va?
 
For i = debut To fin
    Rows(i).Select
    Selection.Sort Key1:=Rows(i), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
        DataOption1:=xlSortNormal
        Next i
 
Cordialement

Reply

Marsh Posté le 18-11-2006 à 20:12:00    

Bonsoir Senior
 
Welcome back
 
J'ai une Erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet

Reply

Marsh Posté le 18-11-2006 à 20:16:07    

Bonsoir
 
Autant pour moi.
Ça fonctionne parfaitement. Merci encore une fois. Mais qui t'arrêteras?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed