Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Macro trier sur titre colonne et non sur le numéro

LEIYAZ

XLDnaute Nouveau
Bonjour,

J'ai un classeur Excel contenant une liste de prestations avec des macros me permettant de les trier en fonction du mois. le code que j'utilise utilise le numéro de colonne (Field:=18 par exemple). Mais j'aimerais pouvoir filtrer sur le nom de la colonne, par exemple ici "MOIS" et éviter de modifier mon code a chaque insertion de colonne.

Voici mon code actuel pour le mois de Janvier :

VB:
Sub JANVIER()


    Range("Liste_Demandes[[#Headers],[MOIS]]").Select
    ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter _
    Field:=18, _
    Criteria1:="JANVIER"
    
'Trier date par ordre descendant

     ActiveWorkbook.Worksheets("Liste Prestations").ListObjects("Liste_Demandes"). _
        Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Liste Prestations").ListObjects("Liste_Demandes"). _
        Sort.SortFields.Add Key:=Range("Liste_Demandes[[#All],[DATE]]"), SortOn:= _
        xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Liste Prestations").ListObjects( _
        "Liste_Demandes").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    

    ActiveSheet.Range("G14").Value = "JANVIER 2021"
    ActiveSheet.Range("A1").Select
    End Sub

Pouvez vous m'aider ? Je vous joint mon fichier sans les données pour vous aider.

En vous remerciant,
 

Pièces jointes

  • Demandes Prestations Interprétariat Présentiel 2021 - Copie.xlsb
    97.5 KB · Affichages: 9

chris

XLDnaute Barbatruc
Bonjour

Un tableau bien conçu est supposé s'allonger te non s'élargir

Eviter le select
Remplacer Field:=18
VB:
Field:=ActiveSheet.ListObjects("Liste_Demandes").ListColumns("MOIS").Index
 

Discussions similaires

Réponses
3
Affichages
591
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…