j’ai créé un tableau d’une vingtaine de colonnes et qui fera quelques centaines de lignes …
Je désire pouvoir le filtrer facilement …
plutôt que d’aller sur chaque colonne modifier le filtre …
je voudrais créer une boîte de dialogue qui regrouperai une partie de mes colonnes filtrée …
Voici une proposition, je t’en explique le fonctionnement.
Cela s’applique pour 5000 lignes et de la colonne “A à X”.
Il faut sélectionner une des cellules de la plage du tableau et cliquer sur le bouton “Filtrer”, ce qui a pour effet de créer une feuille avec le filtre de la cellule sélectionnée.
Sélectionner une autre cellule et recommencer la procédure, cela créera une autre feuille.
Si la valeur de la cellule a déjà été sélectionnée, cela ne créera pas une nouvelle feuille.
En haut des feuilles créées en cellules “A1 & A2” (Le titre de la colonne & le nom de la cellule recherchée).
Toujours dans les nouvelles feuilles créées, à partir de “A4” le tableau souhaité suite à l’action du filtre.
J’ai pensé qu’il pourrait-être utile de supprimer les feuilles créées, j’ai donc mis un bouton “Supprimer Feuilles”.
Enfin pour mettre les boutons, j’ai inséré une nouvelle ligne “1”.
Voici les codes VBA:
Sub Filter()
Application.DisplayAlerts = False
If ActiveCell.Row > 1 And ActiveCell <> "" Then
nomOnglet = CStr(ActiveCell)
titreCritere = Cells(2, ActiveCell.Column)
Critere = ActiveCell
On Error Resume Next
Sheets(nomOnglet).Delete
On Error GoTo 0
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = nomOnglet
[A1] = titreCritere
[A2] = Critere
Sheets("Tab Gamme").[A2:X5000].AdvancedFilter Action:=xlFilterCopy, _
criteriarange:=[A1:A2], CopyToRange:=Sheets(nomOnglet).[A4]
End If
End Sub
Sub SupprimerFeuilles()
Dim sh As Worksheet
Application.DisplayAlerts = False
For Each sh In Worksheets
If InStr(1, "Tab Gamme", sh.Name) = 0 Then sh.Delete
Next sh
Application.DisplayAlerts = True
End Sub
Pour voir le code, faire alt + F11
Et voici ton fichier en retour ICI ==>ArnoC V1.xlsm (23,3 Ko)
Sur Excel 2016, il faut aller sur le menu “Insérer”, puis cliquer sur le
bouton “Tableau”. Cela transforme le tableau utilisé jusqu’à maintenant en
une zone spécifique avec un onglet dédié (“Outils de tableau”).
Dans cet onglet dédié, il suffit maintenant de cliquer sur le bouton
“Insérer un segment”. Là, une boite de dialogue s’ouvre et permet de
sélectionner les zones qu’on souhaite filtrer.
Fichier d’exemple joint.
Je reste à votre disposition pour toute information complémentaire,
Bonjour, merci pour votre réponse…mais je ne vois pas l’utilité de ce
filtrage si ce n’est qu’une sorte d’image (photo) qui apparait…à coté
du tableau source…
cordialement
Là, ça dépend un peu des sources et du nombre d’occurrences uniques pour
chaque filtre, mais personnellement, je trouve cela plus simple à utiliser
qu’un filtre classique…
Mais cela semblait correspondre plus ou moins - dans mon souvenir - à la
demande initiale sur le forum…