Option Explicit
Const Fuchsia = 8343295, Menthe = 5158934, Tablo = "MesData"
Sub EnFuchsia()
'Pour les lignes "vides", on affecte couleur Fuchsia
'pour les autres lignes, on remet la couleur implicite du tableau structuré
Dim xligne As Range
For Each xligne In Range(Tablo).Rows
xligne.Interior.ColorIndex = xlColorIndexNone
If Walou(xligne) Then xligne.Interior.Color = Fuchsia
Next xligne
End Sub
Sub alterner()
'Pour les lignes "vides", on alterne entre la couleur Menthe et Fuchsia
'pour les autres lignes, on remet la couleur implicite du tableau structuré
Dim xligne As Range
For Each xligne In Range(Tablo).Rows
If Walou(xligne) Then xligne.Interior.Color = IIf(xligne.Interior.Color = Menthe, Fuchsia, Menthe) Else xligne.Interior.ColorIndex = xlColorIndexNone
Next xligne
End Sub
Function Walou(xrg As Range) As Boolean
' Retourne TRUE si xrg ne contient que des cellules vides (sinon renvoie FALSE)
' Une cellule vide ne contient ni une erreur, ni une formule, ni la constante ""
Dim s, xcell
Walou = True
For Each xcell In xrg.Cells
If IsError(xcell) Then
Walou = False: Exit Function ' la valeur de la cellule est une valeur d'erreur
ElseIf xcell.HasFormula Then
Walou = False: Exit Function ' la cellule contient une formule
ElseIf Len(xcell) > 0 Then
Walou = False: Exit Function ' la cellule contient quelque chose dont la longueur n'est pas nulle
End If
Next xcell
End Function