Bonjour,
Option Explicit
Dim derln&, dercol&, i&
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Application.ScreenUpdating = False: Application.EnableEvents = False: Target.Parent.EnableCalculation = False
Cells.EntireRow.Hidden = False
derln = Range("C" & Rows.Count).End(xlUp).Row
dercol = Cells(9, Columns.Count).End(xlToLeft).Column
If Target = "" Then
Rows("2:" & derln).EntireRow.Hidden = True
Else
derln = Range("C" & Rows.Count).End(xlUp).Row
For i = 2 To derln
If WorksheetFunction.Sum(Range(Cells(i, 4), Cells(i, dercol))) = 0 _
And Cells(i, 3) <> "" Then
Rows(i & ":" & i).EntireRow.Hidden = True
End If
Next i
End If
Application.ScreenUpdating = True: Application.EnableEvents = True: Target.Parent.EnableCalculation = True
End Sub