Sub Filtrer()
Dim ncol%, colcritere%, n&, tablo, resu(), i&
ncol = 4 'nombre de colonnes
colcritere = 4
With Sheets("Samedi_Matin_CP")
n = Application.CountIf(.Columns(colcritere), "Passe*")
tablo = .[A1].CurrentRegion.Resize(, ncol)
End With
ReDim resu(1 To n, 1 To ncol)
n = 0
For i = 2 To UBound(tablo)
If LCase(tablo(i, colcritere)) Like "passe*" Then
n = n + 1
resu(n, 1) = tablo(i, 1)
resu(n, 2) = tablo(i, 2)
resu(n, 3) = "CE1" 'classe à adapter
End If
Next
'---restitution---
With Sheets("Samedi_Matin_CE1_Passe").[A2] '1ère cellule de destination, à adapter
If n Then .Resize(n, ncol) = resu
.Offset(n).Resize(Rows.Count - n - .Row + 1, ncol).ClearContents 'RAZ en dessous
End With
End Sub