Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ouvrir un fichier csv via vba

choupi_nette

XLDnaute Occasionnel
Bonsoir,
Je cherche à ecrire une macro qui dans le dossier C:\choupi va aller me chercher le seul fichier csv (dont le nom change tout le temps sauf l'extension csv) et me l'ouvrir
Tout bete apparemment mais ca ne fonctionne pas sous win7 et excel 2010

merci pour votre aide
 

MJ13

XLDnaute Barbatruc
Re : Ouvrir un fichier csv via vba

Bonjour Choupi_nette

dont le nom change tout le temps sauf l'extension csv

Déjà, la, c'est pas très clair .

Sinon, tu peux utiliser l'instruction DIR pour rechercher le seul fichier csv, le renommer en .txt puis l'ouvrir avec l'assistant d'importation.
 

choupi_nette

XLDnaute Occasionnel
Re : Ouvrir un fichier csv via vba

Re,

Ca fait une heure que je bataille et je crois que j'ai trouvé d'ou cela vient...
Mon fichier csv est un fichier normal, mais windows 7 semble me mettre le dossier en lecture seule...
Et quand le code demande au csv de souvrir il me met run time error 1004
Je laisse la place aux experts car la je craaaaque
Merci
 

Pièces jointes

  • test macro - Copy.xlsm
    17.7 KB · Affichages: 131

choupi_nette

XLDnaute Occasionnel
Re : Ouvrir un fichier csv via vba

Bonjour,
Merci a tous d'avoir essayé mais j'ai un souci car avec les macros ci dessous dans un des cas ca marche et dans l'autre il ne peut ouvrir un csv en lecture seule ou crypté !!

Je m'explique:

Le csv à ouvrir n'est PAS dans le meme dossier mais dans un autre dossier !

Le code ci-dessous fonctionne parfaitement le csv s'ouvre. mais le nom du csv change tout le temps donc je ne peux pas utiliser cette methode
Code:
Sub Macro2()
Workbooks.Open Filename:="C:\Users\choupi\Desktop\Bio\blabla_Results.csv"
End Sub

Le code ci dessous qui en gros dit va dans tel dossier et ouvre le seul csv qui s'y trouve ne fonctionne pas et me met une erreur fichier lecture seule:
Code:
Sub texttocolumn()
Dim MyFile As String
Adress = "C:\Users\choupi\Desktop\Bio\"
MyFile = Dir("*.csv")

Workbooks.Open Filename:=Adress & MyFile
ActiveSheet.Name = "bidule"
End Sub

Est ce que l'un d'entre vous pourrait m'eclairer sur cela ?

Merci beaucoup
 

Dull

XLDnaute Barbatruc
Re : Ouvrir un fichier csv via vba

Salut Choupi_nette, Michel, Jean Marcel, le Forum

Jean Marcel, le forum,
Deux jours de prise de tete intensifs et toi tu me trouves la solution en 2 secondes
Un grand merci !!
Bonne journée

D'où la rédaction de la question qui doit être irréprochable. ce qui n'était pas le cas Ici ou

Heureux que tu ai réfléchit à ta question (une question bien posée possède la moitié de la réponse)
et que tu ai pu trouver la réponse.

Bonne Journée
 

job75

XLDnaute Barbatruc
Re : Ouvrir un fichier csv via vba

Bonjour le fil, le forum,

Je ne comprends vraiment pas ce que vous faites choupi_nette car dans votre fichier du post #3 de ce fil :

https://www.excel-downloads.com/threads/excel-2003-a-2010-code-a-adapter.195056/

il y avait cette macro :

Code:
Sub texttocolumn()
AdresseDuRépetoire = "C:\Users\choupi\Desktop\Bio\"
myfile = Dir(AdresseDuRépetoire & "*.csv")
Workbooks.Open Filename:=AdresseDuRépetoire & myfile
'-----
End Sub
Je ne vois vraiment pas de différence avec le code de Jean-Marcel

Cela dit sans vouloir lui enlever son mérite

A+
 

job75

XLDnaute Barbatruc
Re : Ouvrir un fichier csv via vba

Re Jean-Marcel,

Oui redondance... Mais surtout choupi_nette s'embrouille avec les fichiers qu'elle teste.

Puisque le fichier qu'elle a fourni hier ne posait aucun problème (pour cette macro).

A+
 

MJ13

XLDnaute Barbatruc
Re : Ouvrir un fichier csv via vba

Bonjour à tous

Merci à Jean-Marcel (et Job, puisque c'est le même code, mais JM n'est pas du genre à copier ).

Sinon en renommant le fichier en txt, on pourrait l'ouvrir ainsi en utilisant l'enregistreur de macro et l'assistant d'importations .

Code:
Sub Ouvre_CSV_Renommé_en_TXT()
'
Dim MyFile As String
    'Répertoire = "C:\Users\choupi\Desktop\Bio\"
    Répertoire = ThisWorkbook.Path & "\"
    MyFile = Dir(Répertoire & "*.txt")
    
    Workbooks.OpenText Filename:= _
        MyFile, 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)), TrailingMinusNumbers:=True
End Sub
 

bof

XLDnaute Occasionnel
Re : Ouvrir un fichier csv via vba

Bonjour,
Visiblement le b... chez choupi_nette car la réponse était donné sur un autre forum depuis Jeu Nov 01, 2012 5:14 pm mais choupi_nette ne devait pas se rappeler non plus...
Non, non... ne me remerciez pas !
A+
 

Discussions similaires

Réponses
4
Affichages
431
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…