Sélectionner automatiquement la plage de cellules filtrées Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
Z
ZOLEKO
Jeune membre
Jeune membre
Messages : 35
Inscrit le : 23 octobre 2014
Version d'Excel : 2007

Message par ZOLEKO » 8 avril 2015, 11:46

Bonjour à tous,
J'ai fait une macro qui fait trois actions:
- Élabore un filtre avancé à partir d'une table de donnée contenue dans ma feuille "Feuil2"
- Copie la plage de cellules filtrées contenue dans ma feuille "Feuil1"
- Insère la plage de cellules filtrées dans une cellule de ma feuille "feuil3"

Voici le code:
Sub filtrer()
'
' filtrer Macro
'
Sheets("Feuil2").Range("A6:F33").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=Range("Feuil1!Criteria"), CopyToRange:=Range( _
"Feuil1!Extract"), Unique:=False
Sheets("Feuil1").Select
Range("F11:I17").Select
Selection.Copy
Sheets("Feuil3").Select
Range("A21").Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False

End Sub

Cette macro marche très bien mais j'ai gros souci:

Le range("F11:I17").select qui sélectionne ma plage de cellules filtrées est une plage fixe pourtant j'aimerais trouver un moyen de sélectionner exactement la plage de cellules filtrées quel qu’en soit la largeur de ma plage de cellules. Cette méthode me permettra par exemple de prendre en compte les mises à jours de ma table de données (suppressions ou ajouts de lignes).

Je ne sais pas si c'est faisable mais bon...
Cordialement
ZOLEKO
Forum.xlsm
(27.47 Kio) Téléchargé 30 fois
Avatar du membre
Marc L
Membre dévoué
Membre dévoué
Messages : 791
Appréciation reçue : 1
Inscrit le : 27 janvier 2015
Version d'Excel : 2003 / 2007

Message par Marc L » 8 avril 2015, 12:56

 
  Bonjour,

  merci d'éditer le message et de baliser le code via l'icône dédiée conformément aux règles de la charte de ce forum !

  Sinon comme sélectionner ne sert à rien, il serait judicieux d'indiquer le but.
  A noter la plage de référence du filtre avancé est toujours utilisable (ou son nom défini automatiquement  _FilterDatabase )
  car pour une copie par exemple seules les lignes visibles  - donc filtrées -  sont prises en compte …
Z
ZOLEKO
Jeune membre
Jeune membre
Messages : 35
Inscrit le : 23 octobre 2014
Version d'Excel : 2007

Message par ZOLEKO » 8 avril 2015, 13:25

Salut,
Un peu perdu par le FilterDatabase, je comprends pas trop. Mais le but de sélectionner la plage de cellules filtrées est de les copier et ensuite les insérer dans une autre cellule. J'ai envoyé un fichier en pièces jointes.
Bien cordialement
ZOLEKO
Avatar du membre
Marc L
Membre dévoué
Membre dévoué
Messages : 791
Appréciation reçue : 1
Inscrit le : 27 janvier 2015
Version d'Excel : 2003 / 2007

Message par Marc L » 8 avril 2015, 14:06

 

  Donc la sélection est inutile car un filtre avancé peut directement copier son résultat …


 
Z
ZOLEKO
Jeune membre
Jeune membre
Messages : 35
Inscrit le : 23 octobre 2014
Version d'Excel : 2007

Message par ZOLEKO » 8 avril 2015, 15:41

OK marc bien noté.
Je vais chercher comment un filtre avancé peut copier son propre résultat. Mais j'espère que tu ne parles pas d'exporter les cellules filtrées vers un autre emplacement car si c'est le cas c'est pas ce que je veux.
Bien cordialement
ZOLEKO
Avatar du membre
Marc L
Membre dévoué
Membre dévoué
Messages : 791
Appréciation reçue : 1
Inscrit le : 27 janvier 2015
Version d'Excel : 2003 / 2007

Message par Marc L » 8 avril 2015, 20:01

 

  Ah ?   Mais alors, vu le code  - toujours pas balisé ! :evil: -  à quoi sert le filtre avancé ?

 
Z
ZOLEKO
Jeune membre
Jeune membre
Messages : 35
Inscrit le : 23 octobre 2014
Version d'Excel : 2007

Message par ZOLEKO » 9 avril 2015, 11:24

Slt, j'ai trouvé le code que je cherchais:

Sub plage_variable()


With Sheets("Feuil1")
Range(Range("C65000").End(xlUp), Range("F27")).Select

End With

End Sub

Ce code me permet de sélectionner toute la plage de cellule filtrée.
Cordialement
ZOLEKO
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message