Problème de filtrage
p
Bonjour tt le monde
j'ai developpé le code suivant qui permet de faire ceci:
- filtrer les lignes selon un ctitère bien determiné
- selectionner l'ensemle filtré et le copier dans une autre feuille.
- retour à la feuille principale et supprimer les resultats de la recherche.
le problème ici, qui m'a cassé la tête d'ailleurs, c'est que l'operation ne s'eefectue pas lorsqu'il n'existe pas d'éléments dans le fichier, qui n'apparaitront pas lors du filtrage et qui n'obeissent pas au critere, j'ai debogué le code , et dans ce cas on aura un saut vers le bout du code de l'erreur (vers la fin)
Sub Test()
Dim WsCible As Worksheet
Dim Plage As Range, PlageFiltree As Range
Application.ScreenUpdating = False
Set WsCible = Worksheets("feuille2")
NextRow = WsCible.Cells(WsCible.Rows.Count, 1).End(xlUp).Row + 1
With Worksheets("feuille1")
Set Plage = .Range("A2:D" & .Range("A" & .Rows.Count).End(xlUp).Row)
.Range("A1").AutoFilter
.Range("$A$1:$D$3000").AutoFilter Field:=4, Criteria1:="critère1"
On Error GoTo Gestion_erreur
'Copier/Coller de la plage filtrée dans "feuille2"
Plage.SpecialCells(xlCellTypeVisible).Copy WsCible.Cells(NextRow, 1)
End With
'Suppression de la plage filtrée dans "feuille1"
Plage.EntireRow.Delete
Worksheets("feuille1").Range("A1").AutoFilter
Application.ScreenUpdating = True
Exit Sub
Gestion_erreur:
Worksheets("feuille1").Range("A1").AutoFilter
Application.ScreenUpdating = True
End Subest ce que quelqu'un peut m'aider ? merci
Bonsoir,
Des bouts de code pour compter le nombre de lignes visibles après l'application d'un filtre
Cordialement
MsgBox Range("A1:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlVisible).CountMsgBox Feuil1.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.CountMsgBox Evaluate("=subtotal(3,A:A)")p
un grand merci jean-Eric