Convertion de données contenant une virgule

Bonjour,

Je rencontre une difficulté concernant l'importation puis la conversion des données issues d'un fichier csv.

Excel, par défaut, positionne toute les données dans la colonne A excepté si une virgule est présente.

Dans ce cas, il positionne en colonne B la suite des éléments.

Cela me bloque la possibilité de faire un traitement pour placer les données voulu dans chaque colonne en travaillant sur le ; en séparateur dans le fichier CSV.

Je note que si j'ouvre le fichier csv directement avec Excel l'anomalie ne se présente pas, par contre si j'importe le fichier je rencontre la difficulté.

Auriez-vous une idée à partager pour contourner cette problématique ?

Ci-dessous un exemple des données CSV.

Merci pour votre aide

Dossier;Description;Equipe;Département;Commune;Conception;Réalisation;Chef d'équipe;Comptabilité;Alerte identifié;Livraison prévue;Accord du client;Envoi du devis;Démarrage travaux;Fin travaux;Mise en service;PV essais;Fin Travaux (prévue);Fin Travaux (réalisé);Etat du dossier;Etat du devis
AC28/052487;Elec M1, Gaz M2;Paris;75;Paris;Gerald;Olivier;Mathilde;1;Mise en service dans 10 jours;10/10/2018;21/02/2018;14/01/2018;28/04/2018;;07/10/2018;;25/07/2019;;En etude execution;Accepté - Annulé
DE56/324698;Eau Z2;Le Mans;72;Le Mans;Stéphanie;Jérôme;Alexandra;2;Mise en service dans 10 jours;19/07/2018;14/06/2018;07/05/2018;14/06/2019;04/07/2019;10/07/2018;;;;;;En attente accord client;Annulé - En attente accord client
12test.csv (740.00 Octets)

Et également le code vba que j'utilise pour réaliser l'importation

Private Sub Import_Facturation()

Dim wkbCrntWorkBook As Workbook
    Dim wkbSourceBook As Workbook
    Dim rngSourceRange As Range
    Dim rngDestination As Range
    Set wkbCrntWorkBook = ActiveWorkbook
    With Application.FileDialog(msoFileDialogOpen)
        .InitialFileName = "C:\Users\Wahiba\Downloads\"
        .Filters.Clear
        .Filters.Add "Fichier CSV (séparateur ;)", "*.csv"
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count > 0 Then
            Workbooks.Open .SelectedItems(1)

    Application.ScreenUpdating = False
    Set sourceBook = ActiveWorkbook
    sourceBook.Sheets(1).Copy After:=ThisWorkbook.Sheets(5)
    sourceBook.Close
    Sheets(6).Name = "Facturation"
    Application.ScreenUpdating = True
    Worksheets("Home").Activate
    MsgBox "Importation des données achevée", vbOKOnly + vbInformation, "Import facturation"
        End If
    End With

End Sub

Bonjour,

Si tu renommes ton fichier .csv en .txt

Ceci fonctionne bien et ne tient pas compte des virgules

Private Sub Import_Facturation()

Dim wkbCrntWorkBook As Workbook
    Dim wkbSourceBook As Workbook
    Dim rngSourceRange As Range
    Dim rngDestination As Range
    Set wkbCrntWorkBook = ActiveWorkbook
    With Application.FileDialog(msoFileDialogOpen)
        .InitialFileName = "C:\Users\Wahiba\Downloads\"
        .Filters.Clear
        .Filters.Add "Fichier CSV (séparateur ;)", "*.txt"      ''"*.csv"
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count > 0 Then
''            Workbooks.Open .SelectedItems(1)
     Workbooks.OpenText Filename:=strPath & .SelectedItems(1), DataType:=xlDelimited, Semicolon:=True, DecimalSeparator:=",", ThousandsSeparator:="."

    Application.ScreenUpdating = False
    Set sourceBook = ActiveWorkbook
    sourceBook.Sheets(1).Copy After:=ThisWorkbook.Sheets(5)
    sourceBook.Close
    Sheets(6).Name = "Facturation"
    Application.ScreenUpdating = True
    Worksheets("Home").Activate
    MsgBox "Importation des données achevée", vbOKOnly + vbInformation, "Import facturation"
        End If
    End With
End Sub

ric

Rechercher des sujets similaires à "convertion donnees contenant virgule"