Ouvrir et importer un fichier CSV

  • Initiateur de la discussion Initiateur de la discussion Troudz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Troudz

XLDnaute Occasionnel
Bonjour tout le monde,

Je me suis créé une macro pour ouvrir un grand nombre de fichiers CSV et les importer dans mon classeur (un onglet = un fichier)
Mon soucis est qu'en faisant Workbooks.Open, mon CSV n'est pas automatiquement converti en Excel comme quand on fait "Fichier / Ouvrir" (les données sont toutes dans la même colonne séparées par un pôint virgule). J'ai essayé de modifier la propriété "Converter" de Workbooks.Open mais rien n'y change.

Auriez vous une idée ?

Au cas ou, voici mon code :

Code:
Sub Import()
    Dim FichierSource As Workbook
    Dim Source As Variant
    Dim CptrFile As Integer
    Dim oFSO As Scripting.FileSystemObject
    Source = Application.GetOpenFilename("Fichier Excel, *.csv", , "Module de fusion de fichiers", , True)
    For CptrFile = 1 To UBound(Source)
        Set FichierSource = Workbooks.Open(Filename:=Source(CptrFile), Converter:=True)
        FichierSource.Sheets(1).Copy Before:=ThisWorkbook.Sheets(1)
        FichierSource.Close
    Next
End Sub

Je vous remercie par avance de votre aide
 
Re : Ouvrir et importer un fichier CSV

Salut Troudz

Essaie en insérant ces 2 lignes juste avant de fermer le csv

Columns("a:a").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(7, 1))

Normalement cela devrait marcher
 
Re : Ouvrir et importer un fichier CSV

Bonjour,

Merci jmh1 pour ta réponse. Malheureusement ce type de retraitement décale toutes mes données.
Je n'ai plus la même présentation.

J'ai cependant eu le temps de trouver une solution encore plus simple. Il suffit de jouer sur la propriété Local de WorkbookOpen :

Set FichierSource = Workbooks.Open(Filename:=Source(CptrFile), Converter:=True, Local := True)

Cela règle le problème des points virgules.

Merci pour ton aide.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
3
Affichages
857
Réponses
9
Affichages
578
Retour