Bonjour à tous,

je cherche à importer un fichier Csv dans un classeur excel 97 via une macro ( je précise bien dans un classeur existant sinon il me suffirait de faire "ouvrir" )

J'ai ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
Option Explicit 
Sub Tst97() 
Dim Fichier As Variant 
    ChDir ThisWorkbook.Path 
    Fichier = Application.GetOpenFilename("Fichier CSV (*.csv), *.csv" ) 
    If Fichier <> False Then Lire97 Fichier 
End Sub 
 
Private Sub Lire97(ByVal NomFichier As String) 
Dim Chaine As String 
Dim Ar() As String 
Dim i As Long 
Dim iRow As Long, iCol As Long 
Dim NumFichier As Integer 
Dim separateur As String * 1 
 
    separateur = ";" 
    Cells.Clear 
    Application.ScreenUpdating = False 
 
    Close 
    NumFichier = FreeFile 
 
    iRow = 0 
    Open NomFichier For Input As #NumFichier 
        Do While Not EOF(NumFichier) 
            iCol = 1: iRow = iRow + 1 
            Line Input #NumFichier, Chaine 
            Ar = Split97(Chaine, separateur) 
            For i = LBound(Ar) To UBound(Ar) 
                Cells(iRow, iCol) = Ar(i) 
                iCol = iCol + 1 
            Next i 
        Loop 
    Close #NumFichier 
 
    Application.ScreenUpdating = True 
End Sub 
 
Private Function Split97(ByVal s As String, ByVal sSep As String) 
Dim Tableau() As String 
Dim sStr As String, Pos As Integer 
Dim i As Long, j As Long 
    Erase Tableau 
    sStr = s 
    i = 1: j = 0 
    Do While i < Len(sStr) 
        If Mid(sStr, i, 1) = sSep Then 
            ReDim Preserve Tableau(j) 
            Pos = InStr(sStr, sSep) 
            Tableau(j) = Left(sStr, Pos - 1) 
            sStr = Right(sStr, Len(sStr) - Pos) 
            j = j + 1: i = 0 
        End If 
        i = i + 1 
    Loop 
    ReDim Preserve Tableau(j) 
    Tableau(j) = sStr 
    Split97 = Tableau 
End Function
Le souci c'est qu'il me plante sur la ligne : Ar = Split97(Chaine, separateur) avec le message "impossible d'affecter à un tableau"

Je précise que je suis sous Excel 97 ( c'est pour le taf et ya des excels 97 dans le tas, donc il faut que ca marche dessus :/ ) et que c'est pour ca que j'ai une fonction Split97 car la fonction Split n'est pas dispo sous Excel97.

Merci d'avance