Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélection plage sur autre feuille

  • Initiateur de la discussion Initiateur de la discussion Kristof44
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

Kristof44

Guest
Bonjour à tous,
Nouveau sur ce forum, utilisateur de la fonction d'enregistrment automatique de macro,
je cherche à sélectionner automatiquement dans un filtre élaboré la plage allant de A1 à la dernière cellule sur la feuille de données et sur la feuille de critère. Celà me parait simple mais je n'y parviens pas.

Dans le code suivant (qui me donne le résultat escompté) je souhaite remplacer K28575 et A7 par l'adresse des dernières des feuilles respectives.😕
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 tenté le code ci-après mais au résultat je n'obtient que la cellule A1 dans la feuille de résultat.

Sheets("résultat").Select
Range("A1").Select
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

Merci de votre aide.
 
Re : Sélection plage sur autre feuille

Bonjour Kristof44, tbft,

Il me semble que, dans l'absolu
Code:
sheets("Data").Range("A1").CurrentRegion
pourrait répondre à la première partie de la question ... à la seconde moitié aussi du reste, si ça se trouve 😛
Une autre solution serait de travailler avec des plages nommées "dynamiques".

Teste ... et dis-nous
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…