Filtre de cellules

jeyl35

XLDnaute Junior
Bonjour,

Je cherche la possibilité d'effectuer un filtre sur des lignes entières. Je souhaite pouvoir récupérer dans le fichier joint les lignes correspondantes aux numéros dans la feuil1 colonne C de tous les numéros présents en feuil 2 colonne jaune.

Le pb pour le filtre c'est qu'il faut extraire 1331 lignes.(dans le fichier réel)

Je vous joins un fichier exemple car le vrai contient 65000 lignes.
Merci pour votre aide

Jeyl35
 

Pièces jointes

  • AE.xlsx
    365 KB · Affichages: 25
  • AE.xlsx
    365 KB · Affichages: 32

job75

XLDnaute Barbatruc
Re : Filtre de cellules

Bonjour jeyl35,

Fichier joint où il suffit d'activer la feuille Filtre.

La macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Activate()
'Feuil1 et Feuil2 sont les CodeNames des feuilles
Dim filtre As Range, t, ncol%, n&, i&, j%
'---critères de filtrage---
Set filtre = Feuil2.Range("D3", Feuil2.Range("D" & Rows.Count).End(xlUp))
Application.ScreenUpdating = False
Cells.Delete 'RAZ
'---test de sécurité---
If filtre.Row < 3 Or Feuil1.UsedRange.Count = 1 Then Exit Sub
'--tableau des résultats---
t = Feuil1.UsedRange
ncol = UBound(t, 2)
n = 1
For i = 2 To UBound(t)
  If Application.CountIf(filtre, t(i, 3)) Then 'NB.SI
    n = n + 1
    For j = 1 To ncol
      t(n, j) = t(i, j)
    Next
  End If
Next
'---restitution---
[A1].Resize(n, ncol) = t
Columns.AutoFit 'ajustement de la largeur des colonnes
Rows(1).Font.Bold = True 'police en gras
End Sub
A+
 

Pièces jointes

  • AE(1).xls
    974 KB · Affichages: 33

job75

XLDnaute Barbatruc
Re : Filtre de cellules

Bonjour jeyl35, le forum,

Sur Win XP - Excel 2003 j'ai testé 64400 lignes en Feuil1 et 128 valeurs en Feuil2 donnant 1300 lignes en feuille Filtre.

La macro s'exécute en 5,3 secondes.

Notez que la ligne 4220 en Feuil1 agrandit le UsedRange jusqu'à la colonne AW...

Après effacement des colonnes I:AW la durée d'exécution se réduit à 2,5 secondes.

A+
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS