Ouverture d'un fichier .csv DIRECTEMENT convertis

piwa

XLDnaute Occasionnel
bjr,

Comment ouvrir un fichier .csv directement en excel , cad avec les champs dans les colonnes et sans les ,, ou carracteres speciaux.

Merci
 

massilia

XLDnaute Nouveau
Re : Ouverture d'un fichier .csv DIRECTEMENT convertis

Bonjour à tous les deux et merci pour vos réponses.

J'ai pour l'instant opté pour la solution ci-dessous (ouverture du fichier puis conversion) et je vais tester (quand j'aurai le temps ! :) ) vos méthodes.

Il doit surement y avoir qq trucs à modifier là dedans, si vous vous sentez l'âme correctrice, alors je prends tous les conseils !

Merci encore.

Code:
' On récupère le chemin d'accès du fichier à importer puis uniquement le nom du fichier
    ' -------------------------------------------------------------------------------------
    FileToImport = Application.GetOpenFileName("Fichiers CSV (*.CSV), *.csv", , "Sélectionnez le fichier à importer...")
    Fichier = Dir(FileToImport)
    
    ' On vérifie que le classeur n'est pas déjà ouvert
    ' ------------------------------------------------
    For Each WB In Workbooks
        If WB.Name = Fichier Then
            MsgBox (Fichier & " est déjà ouvert." & Chr(10) & "Fermez-le et relancez la macro.")
            Exit Sub
        End If
    Next WB
    
    ' On ouvre le fichier
    ' -------------------
    Workbooks.Open filename:=FileToImport
    
    ' On convertit les données (séparateur POINT-VIRGULE)
    ' ---------------------------------------------------
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
        Tab:=False, Semicolon:=True, _
        Comma:=False, Space:=False, _
        Other:=False, _
        FieldInfo:=Array( _
            Array(1, 2), Array(2, 2), _
            Array(3, 2), Array(4, 2), _
            Array(5, 2), Array(6, 2), _
            Array(7, 2), Array(8, 2), _
            Array(9, 2), Array(10, 2), _
            Array(11, 2), Array(12, 2), _
            Array(13, 2), Array(14, 2), _
            Array(15, 2), Array(16, 2), _
            Array(17, 2), Array(18, 2), _
            Array(19, 2), Array(20, 2), _
            Array(21, 2), Array(22, 2), _
            Array(23, 2), Array(24, 2), _
            Array(25, 2), Array(26, 2), _
            Array(27, 2), Array(28, 2), _
            Array(29, 2) _
        ) _
        , TrailingMinusNumbers:=True
 

nours01500

XLDnaute Nouveau
Re : Ouverture d'un fichier .csv DIRECTEMENT convertis

bonjour,

desole de deterrer un topic mais j'ai le meme probleme à quelle chose pres, dans mon csv initial, il y a 4 colonnes qui sont presente, et donc la formule ci dessus ne converti que la premiere, est il possible de le modifier pour toutes les lire et faire la bonne mise en forme?
 

alain31

XLDnaute Nouveau
Re : Ouverture d'un fichier .csv DIRECTEMENT convertis

Bonjour Massilia,

si le séparateur est le point virgule essaye peut être le code ci dessous :

Code:
Workbooks.Open Filename:="C:\MesDocuments\NomDuFichier.csv"
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    Semicolon:=True

bonne soirée
@+



Merci pour cette solution qui marche NICKEL même après totes ces années , et sur Excel 2016 !!;):);):)

Alain
 

Discussions similaires

Réponses
2
Affichages
283

Statistiques des forums

Discussions
312 492
Messages
2 088 899
Membres
103 982
dernier inscrit
krakencolas