Bonjour,
Remplace ta ligne de FOR par celle-ci
For i = Range("B" & Rows.Count).End(xlUp).Row To 4 Step -1
Pour supprimer des lignes, il faut partir de la dernière ligne en remontant
d'où le Step -1 qui remonte de cellule en cellule
et le
Range("B" & Rows.Count).End(xlUp)
qui recherche la dernière ligne (non vide) en partant du bas