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
 

nubed

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

Bonjour Lone-wolf,

Merci de ta réponse rapide, c'est une liaison avec une requête access.

Je vais essayer ta méthode.

Merci
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas