Fichier CSV à transformer en fichier excel

Résolu
marie11250 Messages postés 9 Statut Membre -  
 bruno -
Bonjour,

J'ai importer un fichier CSV de mes articles en vente sur un site marchand.

Je souhaite m'en servir de base de données pour l'importer sous Prestashop.

Cependant, je ne sais pas comment faire avec ce fichier.

Je m'explique :
Il y a le titre sur une première ligne, puis une ligne vide, puis le descriptif sur plusieurs lignes, et enfin sur la dernière ligne du descriptif suit tous les éléments : prix, quantité, photos ....


Je ne peux donc pas convertir comme ça car cela ne marche pas.

Quelqu'un pourrait m'aider ?

(j'ai un fichier de 5000 lignes)

Merci d'avance


4 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
     
    Bonjour,

    Ton image est illisible !
    Elle ne permet pas de voir le séparateur de champs.

    Au lieu d'ouvrir le fichier directement, faire :
    Données / Données Externes / A partir partir du texte / puis choisir délimité et définir le séparateur (probablement le point-virgule ou la virgule)
    1
    1. marie11250 Messages postés 9 Statut Membre
       
      Merci pour votre réponse.

      Effectivement, l'image n'est pas top ; c'est une capture écran ...

      C'était vraiment pour montrer qu'il y a bien une ligne utilisable pour convertir les données car les séparateurs sont "," - mais le problème c'est qu'avant cette ligne, j'ai beaucoup de lignes de descriptif et titre et des lignes vides ... ce qui rend mon fichier inexploitable.

      J'ai essayé ta technique mais ça a donné le même résultat qu'en l'ouvrant et en convertisseur avec les séparateurs ...
      0
      1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785 > marie11250 Messages postés 9 Statut Membre
         
        Avec un éditeur de texte (le Bloc Notes), supprimes les lignes inutiles dans le csv (gardes les titres)
        0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      Pourquoi -1 sur cette réponse ? je remet à 0

      Le pb c'est que sans un extrait de 5-6 articles de ton csv et un xls avec le résultat attendu on ne ne pourra guère t'aider.
      cjoint.com et coller les liens ici
      eric
      0
  2. Archer
     
    Bonjour
    voila une veille macro pour import CSV a tester
    A+
    Maurice
    Private Sub ChoixFicCsv()
    Dim dossier As FileDialog
    ChoixChemin = ActiveWorkbook.Path & Application.PathSeparator
       Set dossier = Application.FileDialog(msoFileDialogFilePicker)
          With dossier
             .AllowMultiSelect = False
             .InitialFileName = ChoixChemin
             .Title = "Choix d'un fichier CSV"
             .Filters.Clear
             .Filters.Add "Fichier Csv ", "*.csv*", 1
                If .Show = -1 Then
                   Chemin = .SelectedItems(1)
                   LireMan Chemin
                End If
          End With
       Set dossier = Nothing
    End Sub
    
    Sub LireMan(NomFichier)
    Dim Ar() As String
       With Application
          .ScreenUpdating = False
          .EnableEvents = False
          .Calculation = xlManual
       End With
    Rows("1:" & Rows.Count).ClearContents
    Sep = ","
    Lig = 1
    ' -----------------------------------------
    On Error Resume Next
       Open NomFichier For Input As #1
            Do While Not EOF(1)
                Line Input #1, Chaine
                   Ar = Split(Chaine, Sep)
                   Col = 1
                      For x = LBound(Ar) To UBound(Ar)
                         Cells(Lig, Col).Value = CStr(Ar(x))
                         Col = Col + 1
                      Next
                Lig = Lig + 1
            Loop
        Close #1
    ' -----------------------------------------
       With Application
          .ScreenUpdating = True
          .Calculation = xlCalculationAutomatic
          .EnableEvents = True
          .CutCopyMode = False
          .Goto [A1], True
       End With
    End Sub
    
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
       
      Cette macro effectue un traitement incomplet : elle ignore le cas où une virgule de trouve dans le texte d'un champ et dans ce cas le résultat est complètement faussé.
      0
  3. NewApprenti Messages postés 7 Statut Membre
     
    Bonjour,
    quand tu ouvres ton classeur, Données-->Convertir-->cocher délimiter, suivant-->cocher virgule puis terminer
    0
  4. marie11250 Messages postés 9 Statut Membre
     
    Bonjour,

    Veuillez m'excuser pour cette longue absence ....

    Je vous remercie pour vos réponses.
    Un ami m'a solutionné le problème .... je ne saurai dire comment .... désolée

    Par contre, j'ai un autre souci : je souhaiterai supprimé plusieurs mots qui sont dans la même cellule; en fait, j'ai ces caractères **** puis du texte, et je voudrai supprimer les mots à partir des étoiles ***
    Comment puis je faire ?

    Merci
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      =GAUCHE(A2;CHERCHE("~*";A9)-1)

      eric
      0
    2. marie11250 Messages postés 9 Statut Membre > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Super ça marche ....

      Mercisss

      Par contre, si il ne trouve pas le caractère * comment faire pour que ça remette le texte normal ? car j'ai erreur valeur
      0
    3. bruno > marie11250 Messages postés 9 Statut Membre
       
       
      Bonjour Marie,

      Je te propose cette formule :

      =GAUCHE(A2;SIERREUR(CHERCHE("~*";A2)-1;NBCAR(A2)))

      bruno
       
      0
    4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      J'avais un A9 à la place d'un A2, je pense que tu avais corrigé.
      Sinon pour ta dernière question ça serait plutôt
      =SIERREUR(GAUCHE(A2;CHERCHE("~*";A2)-1);A2)

      eric
      0
    5. bruno > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Tu as raison, eriiic, ta formule est plus simple que la mienne !
      0