Sélectionner automatiquement la plage de cellules filtrées

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

43forum.xlsm (27.47 Ko)

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 …

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

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

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

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

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

Rechercher des sujets similaires à "selectionner automatiquement plage filtrees"