Macro tri colonnes

Bonjour,

Petite question.

J'ai des données inscrites dans un tableau A10:Z30.

Quel code puis-je utiliser pour trier chaque colonne du tableau par ordre alphabétique ?

Par avance, merci.

Aurélien.

Bonjour,

Tu tries sur quelle colonne ??

Amicalement

Bonjour Dan,

Pour être plus précis, je veux trier la sélection A10:A30, puis B10:B30,etc jusqu'à Z10:Z30.

Chaque tri est croissant et (indépendant des autres) avec la ligne 10 comme titre.

Re

Sans voir ton fichier.. code à essayer

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Macro Dan pour Aurelien le 25/03/11 - XL pratique
If Not Intersect(Target, Rows(10)) Is Nothing Then
Dim Plage As Range
Dim Dcl As Byte, Dlg As Long
Dcl = Cells(10, Columns.Count).End(xlToLeft).Column
Dlg = Range("A" & Rows.Count).End(xlUp).Row
Set Plage = Range(Cells(11, 1), Cells(Dlg, Dcl))
Application.ScreenUpdating = False
Plage.Sort Key1:=Cells(11, Target.Column), Order1:=xlAscending, Header:=xlNo, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If
End Sub

A chaque sélectionne d'une de tes colonnes de A à Z ligne 10, le code sera exécuté.

Amicalement

Merci Dan.

Comment puis-je faire cependant pour que le tri s'applique sur chaque colonne individuellement. De sorte que dans le tableau ci-joint, en colonne A on est : ABCD, colonne B: ABCD, etc ?

Par ailleurs, je souhaiterais lancer la macro manuellement (je la rattache à un bouton).

Merci de ton aide.

Aurélien

226test-macro-tri.zip (7.58 Ko)

Re,

Tu veux faire ce tri en une seule fois depuis A jusque Z ?? Si oui, mets ce code dans un module (pas dans la feuille !)

Sub trier()
'Macro Dan pour Aurelien le 25/03/11 - XL pratique
Dim Plage As Range
Dim i As Byte
Dim Dcl As Byte, Dlg As Long
Dcl = Cells(10, Columns.Count).End(xlToLeft).Column
Dlg = Range("A" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
For i = 1 To Dcl
Set Plage = Range(Cells(10, i), Cells(Dlg, i))
Plage.Sort Key1:=Cells(11, i), Order1:=xlAscending, Header:=xlNo, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Next
End Sub

Bien entendu, n'oublie pas supprimer la macro que je t'ai proposée dans mon post précédent et qui se trouve dans ta feuille.

Amicalement

C'est tout à fait ça, merci !

Question subsidiaire néanmoins pour la culture générale : quelle différence y-a-t-il entre mettre la macro dans un module ou dans thisworkbook ?

Aurélien

Rechercher des sujets similaires à "macro tri colonnes"