Ouvrir tous les fichiers .csv d'un dossier

argon1515

XLDnaute Junior
Bonjour à tous voici quelques lignes de code qui devraient ouvrir les fichiers du dossier C:\tmp\macro\moulin\fic\ seulement ca marche pas.

Ces fichiers sont des fichiers .csv et sont en nombre variable ( géneralement une dizaine )
Pouvez vous m'aider Merci

Dim F
With Application.FileSearch
.NewSearch
.LookIn = "C:\tmp\macro\moulin\fic\"
.Execute
On Error Resume Next
For Each F In .FoundFiles
Workbooks.Open F
Next F
End With
 
C

Compte Supprimé 979

Guest
Re : Ouvrir tous les fichiers .csv d'un dossier

Salut Argon1515,

Essaye plutôt ça
Code:
Sub OuvreCSV()
Dim F
With Application.FileSearch
  .NewSearch
  .LookIn = "C:\tmp\macro\moulin\fic\"
  [COLOR=blue].Filename = "*.csv[/COLOR]"
  .Execute
  On Error Resume Next
  For Each F In .FoundFiles
    Workbooks.Open F
  Next F
  On Error GoTo 0
End With
End Sub

Testé chez moi, ça focntionne ;)
 

argon1515

XLDnaute Junior
Re : Ouvrir tous les fichiers .csv d'un dossier

Bonjour il reste un dernier petit point que je viens de decouvrir !
Les fichiers .csv s'ouvrent bien mais les separateurs ; sont ignorés.
les champs du fichier sont sur une colonne au lieu de x colonnes ( separateur csv ;) j'ai essayer dans le code :

For Each F In .FoundFiles
Workbooks.Open Filename:=F, Delimiter:=";"

Next F

Ca marche pas
Merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : Ouvrir tous les fichiers .csv d'un dossier

Bonjour Argon, Bruno

essaye peut être comme ci dessous :

Code:
Workbooks.Open Filename:=F, Delimiter:=4

4 étant la constante du séparateur ;

bonne journée
@+
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Ouvrir tous les fichiers .csv d'un dossier

Re

rajoute alors cette ligne de code pour la conversion :

Code:
Workbooks.Open Filename:=F
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    Semicolon:=True

@+
 

Pierrot93

XLDnaute Barbatruc
Re : Ouvrir tous les fichiers .csv d'un dossier

Re

de quelle fenêtre parles tu ? je n'ai pas ce genre de message...

essaye peut être avec :

Code:
Application.DisplayAlerts = False

a mettre avant la ligne de code provoquant le message, et remettre à "true" après.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel