Bonjour,
Une proposition.
ALT F8, exécuter la procédure.
Cdlt.
Public Sub DeleteColumns()
Dim lastCol As Long, lastRow As Long, lCol As Long, N As Double
Application.ScreenUpdating = False
With ActiveSheet
lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For lCol = lastCol To 4 Step -1
N = WorksheetFunction.Sum(.Cells(lCol).Resize(lastRow))
If N = 0 Then .Columns(lCol).Delete
Next lCol
End With
End Sub