Sub masquercolonne()
Dim K As Long ' numéro de la ligne
For K = 22 To 4 Step -1 'Pour chaque ligne dans la plage "D10:AG1170" si la somme de la colonne = 0 alors on cache la colonne.
Rows(K).Hidden = Evaluate("=SUBTOTAL(9," & Range(Cells(K, 3), Cells(K, 22)).Address & ")") = 0 And Cells(K, 1) = ""
Next K
End Sub