Filtre Elaboré sélection de la plage

Le
kristofb
Bonjour à tous,
En pack office 2003, je cherche a effectué un filtre élaboré qui
prennent en compte toutes les cellules de la feuille "data", en
utilisant les critères présent dans la feuille "critère" le tout dans
la feuille résultat.
Sheets("résultat").Select
Range("A1").Select
Sheets("data").Range("A1:K28575").AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("critère").Range("A1:A7"),
CopyToRange:=Range("A1"), _
Unique:=False

J'ai essayé
Sheets("data").Range("A1", "A" &
Range("A1").SpecialCells(xlLastCell).Row).AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("critère").Range("A1:A7"),
CopyToRange:=Range("A1"), _
Unique:=False

Mais au lieu d'avoir le résultat escompté je n'ai que la cellule A1 de
la feuille Data.

Quelqu'un peut il m'aider ?
Merci à tous.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #23953451
bonjour kristof,

essaie avec

CriteriaRange:="critère!A1:A7"

--
isabelle



Le 2011-11-10 10:59, kristofb a écrit :
Bonjour à tous,
En pack office 2003, je cherche a effectué un filtre élaboré qui
prennent en compte toutes les cellules de la feuille "data", en
utilisant les critères présent dans la feuille "critère" le tout dans
la feuille résultat.
Sheets("résultat").Select
Range("A1").Select
Sheets("data").Range("A1:K28575").AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("critère").Range("A1:A7"),
CopyToRange:=Range("A1"), _
Unique:úlse

J'ai essayé
Sheets("data").Range("A1", "A"&
Range("A1").SpecialCells(xlLastCell).Row).AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("critère").Range("A1:A7"),
CopyToRange:=Range("A1"), _
Unique:úlse

Mais au lieu d'avoir le résultat escompté je n'ai que la cellule A1 de
la feuille Data.

Quelqu'un peut il m'aider ?
Merci à tous.
kristofb
Le #23964121
Merci de ton aide Isabelle,
Cependant, avec ce code, j'ai "erreur d'execution '1004': Référence
non valide".

Sheets("résultat").Select
Range("A1").Select
Sheets("data").Range("A1", "A" &
Range("A1").SpecialCells(xlLastCell).Row).AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:="critère!A1:A7", CopyToRange:=Range("A1"), _
Unique:úlse
kristofb
Le #23965341
Je m'en suis sorti en utilisant les "Noms définis".
Dans le principe, je sélectionne mes données je les nomme et j'utilise
leur nom dans le filtre élaboré.
J'ai nommé les Données "data", les Critères "critere"
Voici le source de la macro.

Sub Macro2()
'Positionnement dans feuille et sélection des data
Sheets("Feuil2").Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
'attribution d'un nom défini à la plage de données
ActiveWorkbook.Names.Add Name:="data", RefersToR1C1:=Selection
'
'Positionnement dans feuille et sélection des criteres
Sheets("Feuil3").Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
'attribution d'un nom défini à la plage de critères
ActiveWorkbook.Names.Add Name:="Critere", RefersToR1C1:=Selection
Sheets("Feuil4").Select
'
'utilisation du filtre élaboré
Range("data").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("critere"), CopyToRange:=Range("A1"), _
Unique:úlse
End Sub

Merci à celles et ceux qui m'ont aidé.
Publicité
Poster une réponse
Anonyme