Tri automatique en VBA avec plus de 3 critères

Bonsoir le forum,

J'ai cherché sur la toile, mais je n'ai rien trouvé. Je souhaite réaliser un tri automatique en VBA dans excel avec jusqu'à 12 critères.

Jusqu'à 3 critères, j'ai le code qui va bien, mais à partir du 4ème j'ai ce message : Erreur de compilation, argument nommé introuvable.

Si quelqu'un peut m'aider.

Code qui va bien pour 3 critères :

Private Sub Worksheet_Change(ByVal adrcel As Range)
Range("C7:W57").Sort _
Key1:=Range("V7"), Order1:=xlDescending, _
Key2:=Range("M7"), Order2:=xlDescending, _
Key3:=Range("L7"), Order3:=xlDescending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End Sub

Que dois-je ajouter pour pouvoir ajouter les critères suivants ?

Merci à vous.

Jimmy

Bonsoir

Dans ton profil tu indiques Excel 2007, qui lui permet beaucoup de critères (64 (?))

Ton code est fait sur Excel 2003 qui lui n'a (normalement) que 3 critères

Utilises l'enregistreur de macro et tu auras la syntaxe

Bonjour,

Effectivement je suis sur 2007 mais je l'avais enregistré en 2003. Je vais donc essayer en changeant ce paramètre.

J'avais fait ça afin que tous ceux qui ont un vieux office puissent l'ouvrir.

Merci

Voilà le code avec jusqu'à 64 conditions : (également sous 2003 comme antérieur)

ActiveWorkbook.Worksheets("Palmarès").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Palmarès").Sort.SortFields.Add Key:=Range("V8:V57"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Palmarès").Sort.SortFields.Add Key:=Range("W8:W57"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Palmarès").Sort.SortFields.Add Key:=Range("L8:L57"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Palmarès").Sort.SortFields.Add Key:=Range("K8:K57"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Palmarès").Sort.SortFields.Add Key:=Range("J8:J57"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Palmarès").Sort
        .SetRange Range("C7:W57")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Merci

Bonjour

Protouch a écrit :

Voilà le code avec jusqu'à 64 conditions : (également sous 2003 comme antérieur)

Je ne crois pas

Rechercher des sujets similaires à "tri automatique vba criteres"