XL 2021 Code vba pour filtres automatiques sans le nom de l'onglet

  • Initiateur de la discussion Initiateur de la discussion scoobytor
  • 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 !

scoobytor

XLDnaute Junior
Mesdames, Messieurs,

Bonjour à tous. Merci d'avance de votre coup de pouce.

Mon fichier final contiendra les 12 mois de l'année et pour éviter de créer une macro filtres pour chaque onglets, je suis à la recherche du code vba pour filtre automatique sans le nom de l'onglet. En gros dans la macro ci-dessous je cherche à enlever Worksheets ("Jan") pour quelle soit valable sur les 12 onglets

Sub Tableau1_Jan()
'
' Macro2 Macro
'

'
Selection.AutoFilter
Range("B5:AG11").Select
Selection.AutoFilter
Range("A1").Select
ActiveWorkbook.Worksheets("Jan").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Jan").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
"B5:B11"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Jan").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
End Sub

Vous verrez par mois il y a deux macros, donc le but est de rester sur deux macros et pas en avoir 24.

Merci d'avance.

P.S : Pas forcément d'ordi accessible immédiatement donc il peut y avoir 3h à 4h avant que je réponde à vos messages
 

Pièces jointes

Re,
il n'y a que 2 macros valables pour toutes les feuilles
Comme dans ma PJ.
Mais s'agissant de macros transverses pour toutes les feuilles j'ai trouvé qu'elles sont mieux placées dans Thisworkbook.
Pour la maintenance on sait immédiatement de quoi il s'agit surtout si c'est quelqu'un d'autre qui bricole.

@scoobytor
S'il s'agit juste de trier le tableau sur la colonne B, il y a peut être plus simple :
VB:
Sub Tableau1_Filtre()
    Range("B6:AG11").Resize(6).Sort key1:=[B6], order1:=xlAscending, Header:=xlNo
End Sub
Sub Tableau2_Filtre()
    Range("B18:AG23").Resize(6).Sort key1:=[B18], order1:=xlAscending, Header:=xlNo
End Sub
 

Pièces jointes

- 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
17
Affichages
1 K
Réponses
11
Affichages
914
Réponses
1
Affichages
889
Réponses
8
Affichages
1 K
Retour