Tri d'un tableau en VBA

Bonjour,

J'ai un tableau que je souhaite trier sur 3 colonnes dans un certain ordre.

Cette opération doit se faire en automatique par un code vba.

J'ai essayé de passer par l'enregistrement d'une macro, mais le résultat n'est pas le bon.

Y a t-il un moyen plus simple d'y parvenir ?

Vous trouverez en pièce jointe un fichier exemple.

Merci.

Cécile

17tri-tableau.xlsm (171.52 Ko)

bonjour,

si la macro enregistrée ne te donne pas le résultat attendu, c'est qu'il y a une erreur dans les paramètres de ton tri.

peux-tu vérifier si la macro ci-dessous te donne le résultat correct, sinon indiquer pourquoi ce résultat n'est pas correct.

sélectionner feuil1 avant de lancer la macro

Sub Macro1()
    Range("A3:N64").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B4:B64") _
                                                                 , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D4:D64") _
                                                                 , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("C4:C64") _
                                                                 , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("A3:N64")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Bonjour,

proposition de correction de ta procédure mise en forme.

21tri-tableau.xlsm (167.12 Ko)

Bonjour,

Ma petite contribution du jour, une proposition 'globale'.

Ctrl+w pour lancer la procédure.

Cdlt.

27tri-tableau-v1.xlsm (33.59 Ko)
Rechercher des sujets similaires à "tri tableau vba"