Bonjour,
Mon tableau de comptes contient 8 colonnes de A à H. Il commence à la cellule A5 (première opération rentrée), est évolutif (contient actuellement 3410 opérations). La ligne 4 contient les titres de colonnes.
A l'aide d'un bouton lié à une macro, je cherche à le trier par dates (colonne A) et, à la fin de l'opération, revenir à son début, soit afficher depuis A1 sans rien de sélectionné.
J'ai enregistré un code dont je ne suis pas satisfait, car il se finit par la colonne A sélectionnée et j'ai dû définir une butée d'opérations à 10000. Or, je voudrais qu'il ne trie que les opérations rentrées, soit jusqu'à la dernière ligne non vide:
Sub Tri_date()
'
' Tri_date Macro
'
' Touche de raccourci du clavier: Ctrl+t
'
Columns("A:A").Select
ActiveWorkbook.Worksheets("Compte courant").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Compte courant").Sort.SortFields.Add2 Key:=Range( _
"A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Compte courant").Sort
.SetRange Range("A4:H10000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Comment pourrais-je, certainement plus simplement, obtenir un résultat plus propre?
Merci de votre aide.
Mon tableau de comptes contient 8 colonnes de A à H. Il commence à la cellule A5 (première opération rentrée), est évolutif (contient actuellement 3410 opérations). La ligne 4 contient les titres de colonnes.
A l'aide d'un bouton lié à une macro, je cherche à le trier par dates (colonne A) et, à la fin de l'opération, revenir à son début, soit afficher depuis A1 sans rien de sélectionné.
J'ai enregistré un code dont je ne suis pas satisfait, car il se finit par la colonne A sélectionnée et j'ai dû définir une butée d'opérations à 10000. Or, je voudrais qu'il ne trie que les opérations rentrées, soit jusqu'à la dernière ligne non vide:
Sub Tri_date()
'
' Tri_date Macro
'
' Touche de raccourci du clavier: Ctrl+t
'
Columns("A:A").Select
ActiveWorkbook.Worksheets("Compte courant").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Compte courant").Sort.SortFields.Add2 Key:=Range( _
"A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Compte courant").Sort
.SetRange Range("A4:H10000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Comment pourrais-je, certainement plus simplement, obtenir un résultat plus propre?
Merci de votre aide.