Convertir un CSV

Bonjour,

Lorsque je lance ma macro, voici ce qu'elle fait :

  • J'ouvre un fichier CSV qui comporte une seule feuille du même nom que le CSV
  • Je copie cette feuille dans mon classeur qui contient la macro
  • Je ferme le fichier CSV

Mon souci, c'est que tout le CSV se copie sur une seule colonne (pas de prise en compte du délimiteur ";").

Pourtant, lorsque j'ouvre mon CSV seul, toutes les colonnes sont bien en place.

Je n'arrive pas à spécifier lors du collage de la feuille, que c'est un CSV avec un délimiteur ";".

Pourriez-vous m'aider SVP ?

   
   Dim b As Variant
   For Each b In Array("crayon","ficelle")
   ce_classeur = ThisWorkbook.Name

' Copie la feuille dans le le classeur

    Workbooks.Open Filename:=ThisWorkbook.Path & "\TRUC\" & b & ".csv" ', DataType:=xlDelimited, Semicolon:=True
    Workbooks(b & ".csv").Activate
    Sheets(b).Copy After:=Workbooks(ce_classeur).Sheets(6)
    Workbooks(b & ".csv").Activate
    ActiveWorkbook.Close True

Next b

Tout fonctionne lorsque je supprime ce que j'ai mis ici en commentaire 'DataType:=xlDelimited, Semicolon:=True

Mais lorsque je mets DataType et semicolon, j'ai le message "Erreur de compilation : Argument nommé introuvable"

Merci.

Slt mathieu,

essaie comme ca

   
   Dim b As Variant
   For Each b In Array("crayon","ficelle")
   ce_classeur = ThisWorkbook.Name

' Copie la feuille dans le le classeur

    Workbooks.Open Filename:=ThisWorkbook.Path & "\TRUC\" & b & ".csv" , DataType:=xlDelimited, Semicolon:=True
    Workbooks(b & ".csv").Activate
    Sheets(b).Copy After:=Workbooks(ce_classeur).Sheets(6)
    Workbooks(b & ".csv").Activate
    ActiveWorkbook.Close True

Next b

bonjour

salut m3ellem1 au passage

autre solution : menu Données/obtenir/de fichier texte

c'est tout

c'est magique

amitiés

Bonjour, m3ellem1

Désolé pour le temps de réponse.

Ta solution me retourne la même erreur. Il semble ne pas apprécier "DataType:=" qui est surligné lors de l'apparition du message d'erreur.

Bonjour jmd,

Je souhaite le faire via une macro, et j'ai besoin d'une boucle pour y arriver à importer pas mal de .csv. Ça a l'air plutôt galère en allant sur les forums, et la solution n'est pas si simple que ça apparement.

Merci à vous deux.

Slt,

remplace: DataType:=xlDelimited, Semicolon:=True

par : Format:=4 ou Format:=6, Delimiter:=";"

La macro fonctionne, mais j'ai toujours le même souci (tout dans une même colonne (valeurs + séparateurs)

La macro fonctionne, mais j'ai toujours le même souci (tout dans une même colonne (valeurs + séparateurs)

hmmm

et si tu fais comme ca?

Workbooks.Open Filename:=ThisWorkbook.Path & "\TRUC\" & b & ".csv", Local:=True

Bonjour jmd,

Je souhaite le faire via une macro, et j'ai besoin d'une boucle pour y arriver à importer pas mal de .csv. Ça a l'air plutôt galère en allant sur les forums, et la solution n'est pas si simple que ça apparement.

re à tous

avec des centaines de csv ou txt ou xls ou autres, c'est pareil qu'avec un seul !

menu Données/obtenir/de classeur (signifie à partir de tout un répertoire contenant tous tes csv)

c'est tout

c'est magique

c'est une alternative au VBA

par la suite, on actualise d'un clic

https://www.youtube.com/watch?v=a7E29H5ZUmE

amitiés

Bonjour à tous...

avec un fichier exemple cela serait plus simple...

Fred

Rechercher des sujets similaires à "convertir csv"