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
648
Réponses
3
Affichages
572

Statistiques des forums

Discussions
312 169
Messages
2 085 925
Membres
103 043
dernier inscrit
nouha nj