XL 2010 Erreur 1004 la méthode autofilter de la classe range

nubed

XLDnaute Nouveau
Bonjour à tous,

J'ai mis en place une macro pour filtrer un tableau (feuille DATA) et copier les résultats (feuille OUTCOME) à partir d'une plage de cellule qui font office de critère de recherche (feuille td) :

Code:
Sub copyByFilter()

'Efface le tableau des résultats
With Sheets("outcome")
Worksheets("outcome").Range("A1:P200").ClearContents
End With

'Filtre via une plage de cellule la feuille data et recopie les résultats dans la feuille outcome
  With Sheets("data")
    Intersect(.[A:P], .UsedRange).AutoFilter 2, Application.Transpose([td!A1:A45]), 7
    Intersect(.[A:P], .UsedRange).Copy ([outcome!A1])
    .[A:P].AutoFilter
  End With
  
End Sub

Le code fontionne bien quand les données dans la feuille DATA sont stockés normalement, quand elles sont stockées dans un Tableau je reçois un message d'erreur 1004 (la méthode autofilter de la classe range à échoué).

Avez-vous des pistes ?
Merci d'avance

Christophe
 

Lone-wolf

XLDnaute Barbatruc
Re : Erreur 1004 la méthode autofilter de la classe range

Bonjour Christophe

Si c'est un vrai tableau(Insertion-Tableau), il faut faire comme dans cet exemple

Code:
'Productivite est le nom du tableau, à changer
With Sheets("data")
.[Productivite].AutoFilter Field:=2, Criteria1:=Application.Transpose(Sheets("td").Range("a1:a45), Operator:=xlAnd
.Cells.SpecialCells (xlCellTypeConstants).Copy Sheets("OUTCOME").Range("a1")
End With
 

Discussions similaires

Statistiques des forums

Discussions
312 156
Messages
2 085 814
Membres
102 990
dernier inscrit
franckfevrier