Sub Traitement()
Dim Plage As Range, Cellule As Range
Dim T As String
Application.ScreenUpdating = False
Set Plage = ActiveSheet.UsedRange.SpecialCells _
(xlCellTypeConstants, xlNumbers + xlTextValues)
For Each Cellule In Plage
T = Cellule.Value
If Mid(T, 9) Like '*#.#*' Then
Cellule.Value = Left(T, 8) & Int(Val(Mid(T, 9))) _
& '_' & Mid(T, InStr(T, '.') + 1)
End If
Next Cellule
Application.ScreenUpdating = True
End Sub
Sub Reconstitution()
Dim Plage As Range, Cellule As Range
Dim T As String
Application.ScreenUpdating = False
Set Plage = ActiveSheet.UsedRange.SpecialCells _
(xlCellTypeConstants, xlNumbers + xlTextValues)
For Each Cellule In Plage
T = Cellule.Value
If Mid(T, 9) Like '*#_#*' Then
Cellule.Value = Left(T, 8) & Format(Val(Mid(T, 9)), '000') _
& '.' & Mid(T, InStr(T, '_') + 1)
End If
Next Cellule
Application.ScreenUpdating = True
End Sub