Tri sous Excel

Fermé
Tiare - 28 janv. 2008 à 10:55
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 28 janv. 2008 à 18:19
Bonjour,
Voila mon problème :
J'ai un fichier excel avec plusieurs feuilles. J'ai créé une macro qui me permet de copier les lignes sélectionnés d'une feuille à une autre. Et j'aimerais que les lignes que j'ai sélectionné se tri en fonction du nom de famille. J'ai créé une macro de tri mais à chaque fois que je copie la ligne dans la feuille voulue, le tri ne se fait pas du tt!! Alors voici le code que j'ai eu en faisant ma macro sous excel 2007 :

Sub Tri()
'
' Tri Macro
'

'
Rows("4:254").Select
ActiveWorkbook.Worksheets("Soldés du mois").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Soldés du mois").Sort.SortFields.Add Key:=Range( _
"B4:B27"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Soldés du mois").Sort
.SetRange Range("A4:E254")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

A chaque fois que je lance ma macro sous excel 2003, excel me souligne une erreur cad la ligne ActiveWorkbook.Worksheets("Soldés du mois").Sort.SortFields.Clear

Est ce que qqn pourrais m'aider à résoudre ce pb?? Ou si qqn a une meilleure solution à me proposer
Merci d'avance
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 704
28 janv. 2008 à 18:19
bonjour

La macro créée par 2007 est différente de 2003 pour quelle fonctionne sur les deux il faut la faire avec les options de 2003 et je te propose, pour trier toutes tes lignes à parti de la 4 sur la colonne B
Sub Tri()
'
' Tri Macro
'
With ActiveWorkbook.Worksheets("Soldés du mois")
    Rows("4:" & UsedRange.Rows.Count).Sort Key1:=Range("B4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
End With
End Sub
0