Sub zzzzzzzz()
Dim dJour#, rngf As Range, rng As Range, i#, j#, texte$
ActiveSheet.AutoFilterMode = False
dJour = Date
Application.ScreenUpdating = False
Range("B6").AutoFilter Field:=5, Criteria1:="<" & dJour
Set rngf = ActiveSheet.AutoFilter.Range
With rngf
On Error Resume Next
Set rng = .Offset(1).Resize(.Rows.Count - 1, 5).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not rng Is Nothing Then
For i = 1 To rng.Areas.Count
For j = 1 To rng.Areas(i).Rows.Count
texte = texte & rng.Areas(i).Cells(j, 2) & " périmé le " & rng.Areas(i).Cells(j, 5) & vbCrLf
Next
Next
MsgBox texte
Else
MsgBox "rien à afficher"
ActiveSheet.AutoFilterMode = False
End If
End With
ActiveSheet.AutoFilterMode = False
End Sub