Bonjour Zapsalis, le forum,
Après avoir pas mal galéré, voici une proposition,
Je me suis largement inspiré d'un code de Yvouille (que je salue,)
Lien : Yvouille
Sub test()
Dim Première_Ligne As Integer, Dernière_Ligne As Integer, j As Integer
Application.ScreenUpdating = False
i = Range("A" & Rows.Count).End(xlUp).Row '.........définit la dernière ligne de la colonne A
Range("A1:F" & i).Interior.ColorIndex = 3 '.........couleur de la plage de A à F en rouge
Range("A1").Activate '..............................on démarre en A1
Retour:
j = j + 1 '........................................on incrémente la ligne de 1
Première_Ligne = ActiveCell.Row '..................définit la première ligne du bloc de cellule
Do Until ActiveCell.Offset(1, 0) <> ActiveCell '...boucle tant que cellule du dessous<>cellule active
If ActiveCell = "" Then Exit Sub '.............sort de la procédure si cellule active est vide
ActiveCell.Offset(1, 0).Activate '.............active la cellule du dessous
Loop
Dernière_Ligne = ActiveCell.Row '..................définit la dernière ligne du bloc de cellules
If j Mod 2 <> 0 Then '.............................alterne couleur rouge une fois sur deux
Range(Cells(Première_Ligne, 1), Cells(Dernière_Ligne, 6)).Interior.ColorIndex = 8 '..couleur bleu
End If
ActiveCell.Offset(1, 0).Activate '..................active la cellule du dessous
GoTo Retour '.......................................on retourne au début de la macro pour relancer une boucle
End Sub
[EDIT] Petit bémol, si tu as plusieurs lignes vides consécutives, tu n'obtiendras pas le rendu souhaité,
Cordialement,