Sans ton fichier, c’est difficile de savoir ce que c’est que ta ‘ZoneTexte1’ !! Est-ce un ‘Nom’ que tu as donné à une certaine plage ?
L’idéal serait d’avoir ton fichier – ou un fichier représentatif présentant ton problème – et que tu expliques ce que tu désires réaliser. Peut-être que ton instruction ‘ZoneTexte1.Visible = False’ n’est pas la bonne
Sub Nouveau_Bon()
I = Sheets.Count
Sheets("Bon 1").Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = "Bon " & I + 1
.DrawingObjects("ZoneTexte1").Delete
End With
End Sub