Bonjour,
Une proposition VBA à étudier.
Les titres (M., etc...) ne sont pas pris en compte !...
ALT F8, exécuter la procédure.
Cdlt.
Public Sub ConvertString()
Dim lastRow As Long, i As Long, tbl, arr() As String
Const LROW As Long = 5, LCOL As Long = 13
With ActiveSheet
lastRow = .Cells(.Rows.Count, LCOL).End(xlUp).Row
tbl = .Cells(LROW, LCOL).Resize(lastRow - LROW + 1).Value
ReDim arr(1 To UBound(tbl))
For i = LBound(tbl) To UBound(tbl)
arr(i) = LCase(Replace(Replace(tbl(i, 1), "-", "_"), " ", "_"))
Next i
.Cells(LROW, LCOL).Resize(UBound(tbl)).Value = Application.Transpose(arr)
End With
End Sub