Option Explicit
Sub Noms_supprimer_définir()
Dim n As Name, Col&
For Each n In ActiveWorkbook.Names
If Left(n.Name, 1) = "_" Then n.Delete
Next
'---------------------------------- code de JCGL (merci !)----------------------------------
For Col = 1 To Range("IV1").End(xlToLeft).Column
Range(Cells(2, Col), Cells(Rows.Count, Col).End(xlUp)).Name = Cells(1, Col)
Next Col
'-------------------------------------------------------------------------------------------------
End Sub