Mise en forme de tableau et Defiltrer

Bonjour,

J'ai un soucis lié aux mises en forme de tableaux et aux filtres avec le VBA.

Je gère une petite base de donnée dans une macro complexe et je l'exploite via un tableau qui est en "mise en forme de tableau" (qui permet de mettre à jour facilement des tableaux croisés dynamiques dans la suite)

Mon soucis est le suivant : à chaque lancement de macro, j'efface les données de ma base de donnée et je retourne chercher les informations pour les mettre dans ma base de donnée. Mon soucis est le suivant : lorsque j'ai un filtre sur mon tableau cela me renvoie une erreur 1004.

J'ai essayé les commandes suivantes :

Sheets("TEST").ShowAllData

ou encore

Sheets("TEST").AutoFilterMode = False

qui marche sur un tableau standard mais qui ne fonctionne pas avec les tableaux qui sont en "Mise en forme tableau"

ou encore de mettre un test

If FilterMode = True Then ...  

mais qui ne marche pas avec ce type de tableau.

Je voulais donc vous demander si vous aviez une commande qui marche à tous les coup pour dé-filtrer ce type de tableau, car la commande ShowAllData marche mais Uniquement si le tableau est filtré + il faut que la cellule active soit dans le tableau, donc ce n'est pas la solution miracle.

J'ai mis en pièce jointe un document excel avec un tableau test pour que vous compreniez le soucis.

Merci d'avance pour votre aide,

58test-defiltrer.xlsm (16.85 Ko)

Bonjour,

Essaie ainsi :

Sub Defiltrer()
    With ActiveSheet.ListObjects(1)
        If .ShowAutoFilter Then
            If .AutoFilter.FilterMode Then .AutoFilter.ShowAllData
        Else
            .ShowAutoFilter = True
        End If
    End With
End Sub

Merci ça marche parfaitement !

Le sujet est donc résolue !

Rechercher des sujets similaires à "mise forme tableau defiltrer"