Option Explicit
Sub Données_convertir()
Dim i As Integer, ii As Integer
With Range("a3:a" & Rows.Count)
.TextToColumns Destination:=Range("i3"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12 _
, 1), Array(13, 1), Array(14, 1), Array(15, 1)), TrailingMinusNumbers:=True
End With
ii = Range("xfd3").End(xlToLeft).Column
For i = ii To 9 Step -1
If Cells(3, i).Value = "" Then Columns(i).Delete
Next i
End Sub