Plage évolutive au sein d'une macro - filtre élaboré

Bonjour,

Je viens d’automatiser un filtre élaboré sur un fichier afin de faciliter son utilisation pour la personne qui en a la charge.

Toutefois, le tableau où l’on réalise l’extraction est évolutif. De se fait, de nouvelle ligne peuvent être insérée ou supprimée n’importe où.

Le problème, c’est qu’une suppression de ligne entraîne une erreur dans l’exécution de la macro, et donc, du filtre élaboré.

Voici le code de la macro réalisant le filtre élaboré :

Range("A4:AP615").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("AO4:CI13"), CopyToRange:=Range("A1104:AP1104"), Unique:=False

J’aimerai pouvoir indiquer que le tableau à extraire n’est pas A4:AP615 mais qu’il débute en A4 et qu’il à une taille de 611 lignes (par exemple).

Cela est il possible ? Comment faire ?

Merci à ceux qui prendront le temps de m’aider

Bonjour

A tester

Range("A4:AP" & Range("A" & Rows.Count).End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("AO4:CI13"), CopyToRange:=Range("A1104:AP1104"), Unique:=False

Bonjour à tous,

Si tu veux extraire à partir de la ligne 1104,

la base de données ne peut comprendre que les lignes 4 à 1103

Sub filtre()
Dim Lg&
    Lg = Range("A1004").End(xlUp).Row

    Range("A4:AP" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
    Range("AO4:CI13"), CopyToRange:=Range("A1104:AP1104"), Unique:=False
End Sub

à noter que la zone de critère n'est pas bonne,

elle chevauche avec la BDD, et pourquoi 10 lignes ?

Le mieux serait d'extraire sur une autre feuille

édit: code modifié

Amicalement

Claude

L'exctraction par l'éditeur de macro impose d'extraire sur la même feuille.

Merci des réponses qui m'ont permis de solutionner mon problème

Rechercher des sujets similaires à "plage evolutive sein macro filtre elabore"