Convertir fichier CSV

Bonjour les fortiches en VBA

J'essai seule mais je n'y arrive pas.... J'ai un fichier CSV a convertir (en excel avec macro) mon souci c'est que la convertion n'est pas la même quand je la réalise manuelement ou avec la macro suivante :

Sub convertirCSVhelp()

Worksheets.Select
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=True, Semicolon _
:=False, Comma:=True, Space:=False, Other:=False

End Sub

OU EST MON ERREUR ?

avec la macro la date est mise a l'envers (m/d/yyyy) visiblement

et comme ça va etre hyper simple pour vous je suis preneuse aussi de la suite de la macro qui permet l'ouverture de la fenetre d'enregistrement sous-au format excel "prenant en charge les macro"

merci merci pour ce temps précieux que vous m'accordez

15convertir-csv.csv (490.00 Octets)

Hello,

il vous manque l'information de mettre la date en jma

FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 4), Array(4, 1), Array(5, 1), Array(6, 1))

Sub convertirCSVhelp()

Worksheets.Select

    Columns("A:A").TextToColumns _
        Destination:=Range("A1"), _
        DataType:=xlDelimited, _
        TextQualifier:=xlNone, _
        ConsecutiveDelimiter:=False, _
        Tab:=True, _
        Semicolon:=False, _
        Comma:=True, _
        Space:=False, _
        Other:=False, _
        FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 4), Array(4, 1), Array(5, 1), Array(6, 1))
End Sub

pour l'enregistrer voyez cette discussion : https://forum.excel-pratique.com/excel/boite-de-dialogue-enregistrer-sous-22295

merci bcp Nain porte koi de me répondre !

est ce que tu pourrais m'expliquer ce que signifie cette ligne ? FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 4), Array(4, 1), Array(5, 1), Array(6, 1))

est ce Array(3,4) qui donne le format de la date ?

Bonjour à tous !

VBA est une contrainte indépassable ?

Power Query (nativement intégré dans Excel depuis 2016. Complément Microsoft à télécharger pour Excel 2010 et 2013) est l'outil idéal pour accomplir cette tâche.

Code de la requête :

let
    Source = Csv.Document(File.Contents(Excel.CurrentWorkbook(){[Name="CheminCsv"]}[Content]{0}[Column1]),[Delimiter=",", Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    Types = Table.TransformColumnTypes(Source,{{"Column3", type date}, {"Column4", type time}, {"Column5", Int64.Type}, {"Column6", Int64.Type}})
in
    Types

Tableau retourné :

image

merci JFL je vais donc explorer la piste power query

@luj, pour comprendre le FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 4), Array(4, 1), Array(5, 1), Array(6, 1)) il suffit d'enregistrer la macro.

Dans l'étape 3/3 de l'assistant de conversion on choisi le format attendu.

Je ne suis pas assez familier avec Power Query mais effectivement cette manip ici est super simple sur ls CSV, merci JFL

Bonjour à tous de nouveau !

merci JFL je vais donc explorer la piste power query

Excellente idée...

Petite précision : Dans la requête, CheminCsv représente une variable contenant le chemin du fichier CSV à analyser. Il s'agit d'une plage nommée dans le classeur Excel.

Pour une aide adaptée de la communauté, merci de préciser, dans votre profil, la nature de votre Excel ( 2019 ? 2021 ? 365 ? ...)

Rechercher des sujets similaires à "convertir fichier csv"