Sub convert()
Dim t, col, xcell, i&
With Sheets("Feuil1")
For Each col In [a1].CurrentRegion.Columns
Select Case col.Column
Case Cells(1, "a").Column, Cells(1, "g").Column
t = col.Value
For i = 1 To UBound(t)
If t(i, 1) <> "" Then
If IsNumeric(t(i, 1)) Then t(i, 1) = Val(t(i, 1))
End If
Next i
col.NumberFormat = "General": col.Value = t
Case Cells(1, "c").Column, Cells(1, "d").Column, Cells(1, "i").Column
t = col.Value
For i = 1 To UBound(t)
If t(i, 1) <> "" Then
If IsDate(t(i, 1)) Then t(i, 1) = CDate(t(i, 1))
End If
Next i
col.NumberFormat = "General": col.Value = t
End Select
Next col
End With
End Sub