Adapter une macro de tri existante

Bonjour!

J'ai trouvé sur le forum une macro qui tri indépendamment chaque colonne d'une plage. Par exemple dans la macro trouvée, tri de A10:A30, puis tri de B10:B30, et etc jusqu'à la dernière colonne. C'est exactement ce que je recherche, mais je suis simplement trop nul débutant en vba pour adapter cette macro à une autre plage de ma convenance, je m'arrache les cheveux depuis plusieurs heures pour comprendre son fonctionnement..

Pour info le topic originel est ici : https://forum.excel-pratique.com/excel/macro-tri-colonnes-t22302.html

Merci à Dan pour la macro initiale , je la replace ici :

    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

Mes données à trier ne sont pas sur une plage A10:Z30 comme le posteur initial, mais je souhaite pouvoir régler une plage moi-même dans une (ou plusieurs) variable(s) en début de macro (Par exemple Plage = A52:CM100, ou cellule1=A52 et cellule2=CM100), et associer la macro à un bouton.

Je continue de chercher, mais toute aide est la bienvenue!

Salut et bienvenue sur le Forum,

J’ai tenté une modification du code de Dan afin de voir dans quelle direction partir. J’ai donc ajouté des variables et j’ai indiqué manuellement, directement dans le code, des valeurs correspondantes à la plage mise en place sur la feuille.

Ca a l’air de bien fonctionner.

Comment penses-tu alors indiquer les valeurs de tes variables ? Par un formulaire en début de macro ? Mais d’un autre côté, suivant la construction de ton fichier réel, peut-être que l’on pourrait s’y prendre autrement. Tu ne veux pas me montrer ton document ?

Cordialement.

6classeur2.xlsm (17.40 Ko)

Mais... mais c'est excellent, tout ca!

Ca marche, je comprend comment définir ma plage de données (Première_colonne; Première_ligne; Dcl : denière colonne; Dlg dernière ligne), c'est juste impeccable.

Je vais mettre tout cela en place, merci beaucoup!

Je place ici le code que tu as fourni, pour un accès plus facile si d'autres se posent la question. Sujet résolu!

Option Explicit

Sub trier()
'Macro Dan pour Aurelien le 25/03/11 - XL pratique
'Repris et adapté par Yvouille pour Charpy le 17/09/2014 - XL pratique
Dim Plage As Range
Dim i As Byte
Dim Dcl As Byte, Dlg As Long
Dim Première_colonne As Integer, Première_ligne As Integer

Dcl = 6
Dlg = 10
Première_colonne = 4
Première_ligne = 5

Application.ScreenUpdating = False

For i = Première_colonne To Dcl
    Set Plage = Range(Cells(Première_ligne, i), Cells(Dlg, i))
    Plage.Sort Key1:=Cells(Première_ligne, i), Order1:=xlAscending, Header:=xlYes, _
                OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Next
End Sub
Rechercher des sujets similaires à "adapter macro tri existante"