Bonjour,
on va faire autrement...
On remplace les 0 par une valeur d'erreur (#N/A)
et on supprime toutes les lignes qui ont une valeur d'erreur en colonne B
Sub Suppr_zero()
Dim Sh As Worksheet
For Each Sh In Sheets
With Sh.Columns("B:B")
.Replace What:="0", Replacement:="#N/A", LookAt:=xlWhole
.SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
End With
Next Sh
End Sub