Suppression de lignes sur filtre trop lente

Bonjour à vous,

Obj: Un problème de lenteur sur ces quelques lignes de code.

Fct: supprimer des lignes entières suivant un filtre déterminé

'------------------------------------Supprime les lignes inf à la Date_Projet : 01/01/2012 colonne 37

Sheets(Onglet_destination).Select 'sélection de l onglet souhaité

Range("A7").Select

DerniereLigne = Range("A7").End(xlDown).Row 'calcul du nombre de lignes

PlageFiltree = "A7:CG" & DerniereLigne 'sélection de la plage à filtrer

ActiveSheet.Range(PlageFiltree).AutoFilter Field:=37, Criteria1:= "<" & Date_Projet, Operator:=xlOr 'filtre de la colonne 37 des dates < date_projet

Rows("8:" & DerniereLigne).Select 'suppression des lignes du filtre

Selection.Delete Shift:=xlUp

Range("A1").Select

Selection.AutoFilter

'---------------------------------------------------------------------------------------------------------

Cette opération répétée sur 3 filtres pour environ 4000 lignes prend plusieurs minutes... alors j en appel à vous explorateurs de code, pour gagner ces précieuses minutes.

Merci d'avance pour la sueur dépensée .

Bonjour et bienvenue,

Il existe de nombreuses manières pour supprimer des lignes.

Tu devrais joindre un fichier exemple représentatif de ta base de données avec quelques lignes.

Cela permettra au forum d'intervenir et de t'apporter une aide adaptée.

Cdlt.

Bonjour a tous et merci.

Concernant la liste filtrée il s'agit tout simplement d une énumération type "Lot Pomme 1,2,3,4 .../date de cueillette/date d emballage/ date de vente". Si nécessaire je ferais une copie je ne l'ai pas sous la main .

Apres quelques test, la lenteur provient de la ligne: Selection.Delete Shift:=xlUp

La base de donnée initiale est exportée d'une base Access comportant environ 6000 lignes.

Différentes fonctions accessible à l'utilisateur comme des tris, graphiques, recherches... seraient trop gourmandes en temps de traitement c'est pourquoi, dès l 'importation je supprime tous les éléments inutiles (inf à une date fixe: Date_Projet)

De 6000 lignes initiales je passe à environ 3000 lignes. Les filtres sont extrêmement performants (maxi 10 secondes) mais la suppression des lignes est très lente (environ 5minutes).

Donc ma question est: existe t il une méthode ou une fonction plus rapide pour supprimer des lignes

Ou ... problème pris à l'envers ... peut on n'importer que des lignes spécifiques d'Access

Merci par avance

Rechercher des sujets similaires à "suppression lignes filtre trop lente"