Csv séparateur , et

Bonjour à tous,

je suis en train de réaliser une macro qui fait appel à un fichier csv. Ma macro fonctionne quand le séparateur de mon fichier csv est "," mais quand c'est ";" cela ne fonctionne plus.

Savez-vous pourquoi? et auriez-vous une solution?

Je vous remercie pour votre aide,

Take care,

Pauline

Bonjour,

Trouvé sur le Net ... et adapté afin d'avoir le choix entre ; et ,

Désolé, j'ai perdu la source, c'était sur excel-downloads

Tu appelles Sub Csv_Virgule()

Ou Sub Csv_PointVirgule() selon le fichier à importer.

Option Explicit
Dim Sep As String

Sub Csv_Virgule()
Dim Fichier As Variant
    ChDir ThisWorkbook.Path
    Fichier = Application.GetOpenFilename("Fichier CSV (*.csv), *.csv")
    If Fichier <> False Then
    Sep = ","
        LireCSV Fichier
    End If
End Sub

Sub Csv_PointVirgule()
Dim Fichier As Variant
    ChDir ThisWorkbook.Path
    Fichier = Application.GetOpenFilename("Fichier CSV (*.csv), *.csv")
    If Fichier <> False Then
    Sep = ";"
        LireCSV Fichier
    End If
End Sub

Private Sub LireCSV(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 = Sep
    Cells.Clear
    Application.ScreenUpdating = False
    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 = Split(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

ric

Rechercher des sujets similaires à "csv separateur"