Private Sub MAJ()
Dim cel As Range, tablo, a(), dat As Date, n&, i&
Set cel = Feuil1.Rows(1).Find(Date, , xlValues, xlWhole) 'CodeName de la feuille
If cel Is Nothing Then Exit Sub
tablo = cel.CurrentRegion.Resize(, 7) 'matrice, plus rapide
ReDim a(1 To UBound(tablo), 1 To 5)
dat = cel
For i = 3 To UBound(tablo)
If Replace(tablo(i, 6), " ", "") = "oui**oui" And (Trim(tablo(i, 7)) = "admis" Or Trim(tablo(i, 7)) = "arret") Then
n = n + 1
a(n, 1) = dat
a(n, 2) = tablo(i, 1)
a(n, 3) = tablo(i, 3)
a(n, 4) = tablo(i, 6)
a(n, 5) = tablo(i, 7)
End If
Next
With Feuil2 'CodeName de la feuille
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
If n Then .Range("A" & .Rows.Count).End(xlUp)(2).Resize(n, 5) = a
.Activate 'facultatif
MsgBox "'" & .Name & "' mise à jour..."
End With
End Sub