Sub Recode()
Dim DL%, tablo, i%, dZ
Application.ScreenUpdating = False
DL = Range("B65500").End(xlUp).Row
tablo = Range("B1:B" & DL)
dZ = [E1]
For i = 1 To UBound(tablo)
If tablo(i, 1) Like "*Z-*" Then
tablo(i, 1) = AugmenterZ(tablo(i, 1), dZ)
End If
Next i
[B1].Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
End Sub
Function AugmenterZ(Chaine, dZ)
Dim T, T2, ValZ
T = Split(Chaine, "-")
T2 = Split(T(1), " ")
ValZ = Format(-dZ - Val(T2(0)), "0.0000")
If UBound(T2) >= 1 Then
AugmenterZ = Replace(T(0) & ValZ & " " & T2(1), ",", ".")
Else
AugmenterZ = Replace(T(0) & ValZ, ",", ".")
End If
End Function