re-,
Ta modification (remplacer 'GR' par NULL) fonctionne, mais dans ce cas il serait opportun de simplifier en :
If Cells(Lig, 3) <> Null Then
L'insertion de Newpage nécessite juste un test supplémentaire dans la boucle.
Ta macro deviendrait donc :
Sub SupprLigVides()
Derlig! = Range('c65536').End(xlUp).Row
For Lig! = Derlig To 5 Step -1
If Cells(Lig, 3) <> Null Then
Set MaPlage = Range('D' & Lig & ':U' & Lig)
If Application.WorksheetFunction.Sum(MaPlage) = 0 Then
Rows(Lig).Delete
End If
End If
If Cells(Lig, 1) = 'BUDGET' Then
ActiveSheet.HPageBreaks.Add Before:=Cells(Lig + (Lig > 1), 1)
End If
Next Lig
End Sub
Si Cells(Lig + (Lig > 1),1) t'intrigue, voilà une rapide explication.
Dans ton fichier, on trouve le mot 'Budget' (entre autres) en ligne 1.
Du coup, écrire Cells (Lig -1,1) pour insérer ton saut de page 1 ligne avant celle contenant 'budget' ne fonctionne pas (1-1 = 0).
Alors, on se sert de la logique booléenne.
(Lig>1) renvoie la valeur -1 (true) si le test est vérifié,
et la valeur 0 (false) si on atteint la ligne 1.
Bonne continuation.