Vérifier si filtre effectué dans 1er tableau

Bonjour,

J'ai 4 tableaux sur la même feuille avec des filtres automatiques.

L'objectif est que si je filtre le 1er tableau (exemple NEIGE) que les trois autres du dessous se filtrent aussi sur NEIGE.

J'ai réussi cette fonction (voir pièce jointe).

En revanche, je ne sais pas comment faire pour dire si je fais afficher tout dans le 1er tableau qu'Excel m'affiche tout dans les 3 tableaux du dessous.

Je joins le fichier.

Un grand merci pour votre aide.

Salut smotte76,

Personnellement, lorsque je filtre "NEIGE", cela ne me filtre pas les autres tableaux dans ta pièce jointe téléchargé.

Le code pour afficher toutes les données d'une feuille (et donc enlever les filtres)

Worksheets("R1").ShowAllData

Bonne journée,

Baboutz

Merci beaucoup !

En fait, il faut sélectionner un filtre dans le premier tableau puis aller dans le code et exécuter la macro filtre. (Je n'ai pas encore automatisé).

Je vais essayer ta fonction.

Merci pour ton aide.

Bonne soirée

Re,

Je viens d'effectuer des tests : mon code ne devrait pas fonctionner car il ne peut fonctionner qu'avec un tableau par feuille.

Avec ce code, ça marche :

    Worksheets("R1").ListObjects("Tableau815").Range.AutoFilter Field:=1
    Worksheets("R1").ListObjects("Tableau81316").Range.AutoFilter Field:=1
    Worksheets("R1").ListObjects("Tableau3814").Range.AutoFilter Field:=1

Ce code permet en gros de sélectionner le case "Sélectionner tout". Il suffisait d'utiliser l'enregistreur de macro pour savoir quel code utiliser

Bonne soirée !

Baboutz

Merci beaucoup !!!! Mais comment savoir si dans le tableau 1, j'ai sélectionné "Afficher tout".

Sinon c'est top. Merci

Re,

Ton code était déjà tout fait...

If Worksheets("R1").ListObjects("Tableau16").AutoFilter.FilterMode Then
    MsgBox "Il y a des données filtrées"
    vmeteo = Worksheets("R1").ListObjects("Tableau16").AutoFilter.Filters(1).Criteria1
    Rem je filtre le 1er tableau
    Worksheets("R1").ListObjects("Tableau815").Range.AutoFilter Field:=1, Criteria1:=vmeteo
    Rem je filtre le 2eme tableau
    Worksheets("R1").ListObjects("Tableau81316").Range.AutoFilter Field:=1, Criteria1:=vmeteo
    Rem je filtre le 3eme tableau
    Worksheets("R1").ListObjects("Tableau3814").Range.AutoFilter Field:=1, Criteria1:=vmeteo
ElseIf Not Worksheets("R1").ListObjects("Tableau16").AutoFilter.FilterMode Then
    MsgBox "Il n'y a pas de données filtrées"
    Worksheets("R1").ListObjects("Tableau815").Range.AutoFilter Field:=1
    Worksheets("R1").ListObjects("Tableau81316").Range.AutoFilter Field:=1
    Worksheets("R1").ListObjects("Tableau3814").Range.AutoFilter Field:=1
End If

Met ton code dans le "Else" ! D'ailleurs, évite les Activesheets, qui implique les .select, il vaut mieux mentionner directement le nom de la feuille tel que je l'ai fait!

Bonne soirée,

Baboutz

Super ! Un grand merci pour ton idée très pro.

Bonne soirée

Pas de soucis, avec plaisir !

Et

Bonne soirée et à bientôt sur le forum !

Baboutz

Rechercher des sujets similaires à "verifier filtre effectue 1er tableau"