XL 2013 Modification macro (AdvancedFilter)

ksimat

XLDnaute Junior
Bonsoir,
J'ai une macro qui me copie des données depuis les feuilles "base" et "Bilan" vers la feuille "Admis". Pour éviter les vides qui se placent en haut de la colonne G avec le tri descendant, je voudrais donc modifier une partie du code pour déplacer tri décroissant de [G10] vers [H10] avec ordre croissant.
Si je change
[A9].CurrentRegion.Sort Key1:=[G10], Header:=xlYes, Order1:=xlDescending
en
[A9].CurrentRegion.Sort Key1:=[H10], Header:=xlYes, Order1:=xlAscending

l'en-tête est déplacée en bas de tableau ce qui est bizarre. Je ne parviens pas comprendre ce qui cloche. En vous remerciant d'avance, je vous mets le code en sollicitant votre aide.
Si par ailleurs quelqu'un trouve qu'il est possible de garder le champ de tri en G tout en renvoyant les vides en bas de tableau, ce serait excellent. Voici mon code:

Private Sub Worksheet_Activate()
With Sheets("Admis").Range("B10:I109")
Application.CutCopyMode = False
.ClearContents
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Application.DisplayFullScreen = False
Sheets("Base").[A1:AA200].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=[T1:T3], CopyToRange:=[B9:J9]
[A9].CurrentRegion.Sort Key1:=[G10], Header:=xlYes, Order1:=xlDescending
Sheets("Bilan").Range("R10:Y20").Copy
With Sheets("Admis").Range("B" & Rows.Count).End(xlUp).Offset(3, 0)
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
Application.DisplayFullScreen = True
End With
End Sub

Merci
Ksimat
 

Discussions similaires

Réponses
8
Affichages
655
Réponses
3
Affichages
577

Statistiques des forums

Discussions
312 201
Messages
2 086 171
Membres
103 152
dernier inscrit
Karibu