Private Sub Workbook_Open()
Dim fichier As Variant, plage As Range, cc%, col%, x, n, a(), texte$, s, i&
ChDir ThisWorkbook.Path
fichier = Application.GetOpenFilename("Fichiers CSV(*.csv),*.csv") 'choix du fichier CSV
If fichier = False Then Exit Sub
Set plage = [M1:CJ1]
cc = plage.Columns.Count
col = plage.Column
x = FreeFile
Open fichier For Input As #x 'ouverture en lecture séquentielle
On Error Resume Next
For n = 0 To 1
ReDim a(1 To cc, 1 To 1)
Line Input #x, texte
texte = Replace(Replace(Replace(texte, "à ", "à"), "é", "è"), "è", "è") 'adapter aux besoins
s = Split(texte, ";")
For i = 1 To UBound(a)
a(i, 1) = s(i + col - 2)
Next i
[B12].Offset(, n).Resize(UBound(a)) = a
Next n
End Sub