Function NombreCellulesColorées(Plage As Range) As Long
Dim cel As Range
Dim compteur As Long
' Parcourir chaque cellule de la plage
For Each cel In Plage
' Si la cellule a une couleur de fond différente de blanc, on incrémente le compteur
If cel.Interior.ColorIndex <> xlColorIndexNone Then
compteur = compteur + 1
End If
Next cel
NombreCellulesColorées = compteur
End Function
Function PremiereColonneColorée(Plage As Range) As Long
Dim Col As Long
Dim Row As Long
' Parcourir chaque colonne de la plage
For Col = 1 To Plage.Columns.Count
' Parcourir chaque ligne de la colonne
For Row = 1 To Plage.Rows.Count
' Si la cellule a une couleur de fond différente de blanc, on sort des boucles
If Plage.Cells(Row, Col).Interior.ColorIndex <> xlColorIndexNone Then
PremiereColonneColorée = Col
Exit Function
End If
Next Row
Next Col
' Si aucune colonne n'a été trouvée, on retourne 0
PremiereColonneColorée = 0
End Function
Function DerniereColonneColorée(Plage As Range) As Long
Dim Col As Long
Dim Row As Long
' Parcourir les colonnes en partant de la dernière
For Col = Plage.Columns.Count To 1 Step -1
' Parcourir chaque ligne de la colonne
For Row = 1 To Plage.Rows.Count
' Si la cellule a une couleur de fond différente de blanc, on sort des boucles
If Plage.Cells(Row, Col).Interior.ColorIndex <> xlColorIndexNone Then
DerniereColonneColorée = Col
Exit Function
End If
Next Row
Next Col
' Si aucune colonne n'a été trouvée, on retourne 0
DerniereColonneColorée = 0
End Function