Public sh
Sub Macro5()
For Each sh In Sheets
If sh.Name Like "Processus*" And sh.[B1] = "" And sh.[A2] <> "" Then
With sh
.Cells.NumberFormat = "@"
.Columns("A:A").TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 4), Array(2, 4), Array(3, 1), Array(4, 2), Array(5, 1), Array(6, 1), _
Array(7, 2), Array(8, 1)), TrailingMinusNumbers:=True
.Columns("G:G").Cut
.Columns("D:D").Insert Shift:=xlToRight
.Columns("E:E").Delete Shift:=xlToLeft
On Error Resume Next
With .Range("A2:A" & .[B65000].End(xlUp).Row).SpecialCells(xlCellTypeBlanks)
.FormulaR1C1 = "=RC[1]"
.Value = .Value
End With
On Error GoTo 0
.Columns(4).Insert Shift:=xlToRight
With .Range("C2:C" & .[C65000].End(xlUp).Row)
.TextToColumns Destination:=Range("C2"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(2, 1)), TrailingMinusNumbers:=True
.Delete Shift:=xlToLeft
End With
.[D1].Delete Shift:=xlToLeft
.Columns("A:G").EntireColumn.AutoFit
End With
End If
Next sh
End Sub