Bonsoir Fabrice0501
Il faut faire attention avec une plage nommée, car elle n'appartient pas à l'objet Sheet, mais Workbook
Donc il faut aussi tester la feuille pour laquelle est appliqué le nom, s'il s'agit de la feuille active
Sub EffaceCelNommée()
Dim Nom As Name
For Each Nom In ThisWorkbook.Names
If InStr(1, Nom.RefersTo, ActiveSheet.Name) > 0 Then
Range(Nom.Name).Value = ""
End If
Next Nom
End Sub
Nota : un Clearcontents ne peut pas être appliqué à des cellules fusionnées
A+