Bonjour

La macro ci-dessous a pour but de supprimer toutes les noms de plage du classeur actif.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Sub EFFACER()
For Each Nom In ActiveWorkbook.Names
ActiveWorkbook.Names(Nom.Name).Delete
Next
 
End Sub
Seulement, elle fonctionne avec certains classeurs, et avec d'autres elle bugge. Au débogage, elle indique "next".

J'ai essayé d'y parer en introduisant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
If Not IsError(ActiveWorkbook.Names(Nom.Name)) Then
ActiveWorkbook.Names(Nom.Name).Delete
End If
Cela ne résout pas le problème. Ci-joint le fichier excel.

Quelqu'un voit il?

Merci par avance

Effacer_nom.xlsx