Fermer

mai 17, 2024

Comment convertir un fichier CSV en fichier Excel / Blogs / Perficient

Comment convertir un fichier CSV en fichier Excel / Blogs / Perficient


La conversion de CSV en Excel rationalise la manipulation et l’analyse des données, en reliant la simplicité de la structure de texte brut du CSV aux puissantes fonctionnalités de feuille de calcul d’Excel. Cette conversion garantit une transition transparente des enregistrements séparés par des virgules vers des lignes et des colonnes organisées, améliorant ainsi l’accessibilité et l’interprétation des données. Que ce soit pour l’analyse de données, la visualisation ou la collaboration, le format polyvalent d’Excel répond à divers besoins, offrant des fonctionnalités telles que des formules, des graphiques et une mise en forme conditionnelle.

  • Conversion du fichier CSV avec les zéros non significatifs lorsqu’il est modifié en fichier Excel.
  • Plusieurs fichiers CSV sont automatiquement convertis en fichiers Excel à l’aide d’un code construit en boucle.

En convertissant plusieurs fichiers CSV en fichier Excel à l’aide du code VBA.

CODE VBA :

Sub Csv_to_Excel()
'
' Csv_to_Excel
Dim Pathname As String
Dim Filename As String
Dim WOextn As String
Dim Nam As String

Pathname = "<Specify the Souce Path>"
Filename = Dir(Pathname)

Do While Filename <> ""
    WOextn = Left(Filename, InStr(1, Filename, ".") - 1)
    Nam = Pathname & "" & Filename
    Debug.Print Nam
    Workbooks.Add
    ActiveWorkbook.Queries.Add Name:=WOextn, Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Csv.Document(File.Contents(" & Chr(34) & Nam & Chr(34) & "),[Delimiter="","", Columns=25, Encoding=1252, QuoteStyle=QuoteStyle.None])," & Chr(13) & "" & Chr(10) & "    #""Promoted Headers"" = Table.PromoteHeaders(Source, [PromoteAllScalars=true])" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Promoted Headers"""
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=" & WOextn & ";Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [" & WOextn & "]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        Debug.Print WOextn
        .ListObject.DisplayName = WOextn
        .Refresh BackgroundQuery:=False
    End With
    Application.CommandBars("Queries and Connections").Visible = False
    Range("C8").Select
    ActiveSheet.Name = WOextn
    ActiveWorkbook.SaveAs Filename:="<Specify the target path>" & WOextn & ".xlsx"
    ActiveWorkbook.Close
    Filename = Dir()
Loop
End Sub

Procédure étape par étape pour exécuter le code VBA :

Étape 1 : Ouvrez une nouvelle feuille Excel.

Étape 1

Étape 2 : Accédez à l’option du ruban de l’onglet Développeur.

Étape 2

Étape 3 : sélectionnez l’option Visual Basic dans l’onglet Développeur.

Étape 3

Étape 4 : La sélection de l’option Visual Basic ouvre une nouvelle fenêtre.

Étape 4

Étape 5 : Dans l’onglet Projet, cliquez avec le bouton droit sur le projet VBA. Cliquez sur Module après avoir choisi l’option Insérer.

Étape 5

Étape 6 : L’option de module s’affichera dans l’onglet Projet sous le projet VBA et l’espace de code de droite s’ouvrira.

Étape 6

Étape 7 : Collez le code VBA dans l’espace de code.

Étape 8

Étape 8 : Sélectionnez Exécuter ou appuyez sur F5 pour exécuter le code à partir d’ici manuellement.

Étape 9

Tous les fichiers CSV qui se trouvent dans le dossier désigné ont été convertis avec succès en fichiers Excel et chargés dans le dossier cible une fois le code VBA exécuté.






Source link