Sub MasquerLignesSansCouleur()
Dim ws As Worksheet
Dim cell As Range
Dim row As Long
Dim firstRowWithColor As Long
Dim lastRowWithColor As Long
' Utiliser la feuille active
Set ws = ActiveSheet
' Initialiser la première et la dernière ligne contenant une cellule colorée à 0
firstRowWithColor = 0
lastRowWithColor = 0
' Parcourir les lignes de 5 à 61
For row = 5 To 61
' Parcourir les cellules de la plage B:P de la ligne actuelle
For Each cell In ws.Range("B" & row & ":P" & row)
' Vérifier si la cellule est colorée
If cell.Interior.ColorIndex <> xlNone Then
' Mettre à jour la première ligne contenant une cellule colorée
If firstRowWithColor = 0 Then
firstRowWithColor = row
End If
' Mettre à jour la dernière ligne contenant une cellule colorée
lastRowWithColor = row
Exit For ' Sortir de la boucle si une cellule colorée est trouvée
End If
Next cell
Next row
' Si une cellule colorée a été trouvée
If lastRowWithColor > 0 Then
' Masquer les lignes situées en dessous de la dernière ligne colorée jusqu'à la ligne 61
For row = lastRowWithColor + 1 To 61
ws.Rows(row).EntireRow.Hidden = True
Next row
End If
' Si une cellule colorée a été trouvée
If firstRowWithColor > 0 Then
' Masquer les lignes situées au-dessus de la première ligne colorée jusqu'à la ligne 5
For row = 5 To firstRowWithColor - 1
ws.Rows(row).EntireRow.Hidden = True
Next row
End If
End Sub