Sub Delais()
Dim delai As Integer
ActiveSheet.Unprotect ("0000")
Dim i As Long
delai = 21 '21 jours
'rows.Count==> c'est le nombre maximum de ligne sur une feuille excel: anciennemnt 65536 qui est maintenant 1 048 576
'range("H" &rows.Count) = dernière ligne de la colonne H
'.end(xlup): permet de remonter jusqu'à la première ligne NON vide
'.row: récupère le numéro de la ligne
LastLine = Range("H" & Rows.Count).End(xlUp).Row 'dernière ligne NON vide de la colonne H:==> si rien en H10, on a 10, alors qu'on voudrait 11
If Range("H" & LastLine) <> "" Then LastLine = LastLine + 1 'cas du tablo structuré vide
With Sheets("Feuil2") 'on travaille sur la feuille 2, sans avoir besoin de l'activer
fin = .Range("K" & .Rows.Count).End(xlUp).Row 'meme chose que LastLine pour la colonne K de la feuille 2
For i = 5 To fin 'pour chaque ligne
If .Range("K" & i) - Now < delai Then 'si le critère est vérifié
Sheets("Feuil1").Range("H" & LastLine) = .Range("K" & i) 'on récupère les données
Sheets("Feuil1").Range("J" & LastLine) = .Range("D" & i)
Sheets("Feuil1").Range("I" & LastLine) = "MINES"
LastLine = LastLine + 1
End If
Next i
End With
With Sheets("Feuil3")
'meme code à adapter
End With
End Sub