Format ouverture fichier csv par code vba

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 !

Novice avance !?

XLDnaute Occasionnel
bonjour,

j'ai un fichier csv avec un formatage type excel avec les données dans différentes colonnes mais j'ai un souci lorsque je veux ouvrir ce fichier via code vba. Celui-ci perd son formatage et revient à son format initial csv c'est à dire les données séparées par un point-virgule et de plus il change de colonne lorsqu'il y a une virgule dans un nombre décimal.

En ouvrant manuellement le fichier csv il conserve cependant son formatage type excel.


le code ci-dessous testé ne fonctionne pas.
Votre aide serait la bien venue

je mets en pièce jointe le fichier csv tel que je voudrait qu'il s'ouvre même en l'ouvrant via vba.

merci par avance

Code:
Dim Fichier As Variant

Fichier = Application.GetOpenFileName("Tous les fichiers (*.*),*.*")
    If Fichier = False Then Exit Sub
  
    Workbooks.OpenText Filename:=Fichier, _
    DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote, _
    Semicolon:=True, comma:=False
 

Pièces jointes

Re : Format ouverture fichier csv par code vba

Bonjour,

essaye en renommant ton fichier en .txt... et ta macro devrait fonctionner... sinon pour ouvrir un csv, perso j'utilise un "QueryTable" (importation de données externes, barre de menu => données => Données externes => importer des données), l'enregistreur de macro te fournira le code.

bonne journée
@+
 
Re : Format ouverture fichier csv par code vba

Bonjour Novice, Pierrot


Comme dit Pierrot, les fichiers .CSV c'est une vrai galère en VBA.

Sinon, tu peux tester ce code que j'ai enregisté avec l'enregisteur de macro en renommant le fichier en .txt et adapté en ajoutant local:=true.
Code:
Sub Ouvre_csv()
NomDossier = ThisWorkbook.Path
    Workbooks.OpenText Filename:=NomDossier & "\test.csv", _
        Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=True, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1)), _
        TrailingMinusNumbers:=True, local:=True
End Sub

Pour le Query, il faudra que j'essaie 🙂.
 
- 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

Réponses
40
Affichages
2 K
Réponses
5
Affichages
485
Réponses
3
Affichages
240
Retour