XL 2013 Modification macro (AdvancedFilter)

  • Initiateur de la discussion Initiateur de la discussion ksimat
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
913
Réponses
1
Affichages
1 K
Réponses
1
Affichages
602
Compte Supprimé 979
C
Réponses
2
Affichages
737
Retour