Re : Sélection plage sur autre feuille
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:=False
End Sub
Merci de t'être penché sur mon sujet.
D'autre part on m'a conseillé :
Dim rngDonnees As Range
Dim rngCritere As Range
Set rngDonnees = Worksheets("Data").Range("a1").CurrentRegion
Set rngCritere = Worksheets("Critères").Range("a1").CurrentRegion
rngDonnees.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=rngCritere, CopyToRange:=Worksheets("Résultat").Range("a1")
Je testerai ce code demai, celà me parait tenir la route. Je ne savais pas que l'on pouvais définir des variables en Range.