Ouvrir fichier csv avec macro

THIERRY1

XLDnaute Nouveau
Bonjour à toutes et tous,

je suis débutant en macro et je cherche à ouvrir un fichier csv sans connaitre son nom.

En glanant sur les posts, j'ai trouvé ceci qui fonstionne très bien tant que l'on utilise des fichier excels. Dès que je selectionne du CSV, la macro me donne un message d'erreur.

Merci par avance pour votre aide

Sub Macro5()
'
' Macro5 Macro
'

'
Choix2 = ChoixDossierFichier2("C:\")

If Choix2 = "" Then MsgBox "aucun fichier choisi" _
Else: Workbooks.Open Filename:=Choix2

End Sub


Function ChoixDossierFichier2$(Optional Racine)
Dim objShell, objFile, Chemin, SecuriteSlash, FlagChoix&, Msg$

If IsMissing(Racine) Then Racine = CurDir
Msg = "Choisissez le fichier N-1 à ouvrir :"
Set objShell = CreateObject("shell.Application")
Set objFile = objShell.BrowseForFolder(&H0&, Msg, &H4000, Racine)
On Error Resume Next
Chemin = objFile.ParentFolder.ParseName(objFile.Title).Path & ""
ChoixDossierFichier2 = Chemin
End Function
 

Yaloo

XLDnaute Barbatruc
Re : Ouvrir fichier csv avec macro

Bonsoir Thierry,

Tout d'abord bienvenu sur XLD, tu t'es trompé de forum, pour les questions de ce genre il faut poster sur le "forum Excel" et non dans "Utilisation du forum". Mais ce n'est pas bien grave.

Voici une macro qui devrait répondre à ta question.

VB:
Sub Ouvrir_CSV()
 Dim wbkcible As Workbook, fd As Object, Nom$
  
 Set wbkcible = ThisWorkbook
  Set fd = Application.FileDialog(msoFileDialogOpen)
  With fd
    .Title = "Choisissez le fichier"
    .Filters.Clear
    .Filters.Add "CSV (séparateur: point-virgule)", "*.csv*"
    .AllowMultiSelect = False
    If .Show <> 0 Then
      Nom = .SelectedItems(1)
      Else
      MsgBox "Aucun fichier n'a été sélectionné", , "Erreur": Exit Sub
    End If
  End With
  Workbooks.Open Nom
End Sub

A te relire

Martial
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 841
Membres
103 972
dernier inscrit
steeter