IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Récuperer le nom d'un fichier à partir de Application.FileDialog(msoFileDialogOpen)


Sujet :

Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Récuperer le nom d'un fichier à partir de Application.FileDialog(msoFileDialogOpen)
    Bonjour

    Tout est dit dans le titre, comment récupérer le nom du fichier ouvert à partir d'une commande de type Application.FileDialog(msoFileDialogOpen).show ?

    Je souhaite traiter un fichier (exemple toto.csv dans le repertoire c:\mondossier\test). le nom de se fichier va changer, ainsi que le dossier dans lequel il est. Le code permettant de traiter le fichier est ok (j'utilise une query table et je souhaite conserver ce code), mais je n'arrive pas à placer dans une variable "fichier" le nom du fichier ouvert. J'ai récupéré le nom du chemin du dossier.

    Pour le moment, j'ai écris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Application.FileDialog(msoFileDialogOpen).Show
      Repertoire = Application.FileDialog(msoFileDialogOpen).InitialFileName
      MsgBox Repertoire
     
    If Right(Repertoire, 1) <> "\" Then Repertoire = Repertoire & "\"
     
    Fichier = "toto.csv"
     
    Chaine = "TEXT;" & Repertoire & Fichier
     
        Sheets("Feuil2").Select
     
        With ActiveSheet.QueryTables.Add(Connection:=Chaine, Destination:=Range("A1"))
            .Name = Fichier
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
    .
    .
    .
    End With
    ce qui me permet de récupérer le nom du chemin dans la variable "repertoire" mais pas le nom du fichier !!!!

    Je pensais écrire un bout de code qui à partir du chemin "repertoire" retire tout ce qui est avant le nom du fichier pour ne conserver que "toto.csv" seulement dans ma variable "repertoire" le nom du fichier n'apparait pas.... Quelle serai la syntaxe à employer?

    A votre bon coeur si vous avez une idée !!!


    Merci par avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Après quelques recherche plus poussé j'ai trouvé la solution ici:

    Il faut utilisé les fonctions Mid(), Left() ou Right() pour extraire des morceaux d'une chaine, et la fonction InstrRev() qui renvoie la position d'un caractère dans une chaine, en partant de la fin.
    Soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      Fichier = Application.GetOpenFilename("CSV Files (*.CSV),*.CSV")
      Fichier = Mid(Range("A1").Value, InStrRev(Range("A1").Value, "\") + 1)
    La variable "fichier" prend pour valeur à l'ouverture : c:\mondossier\test\toto.csv
    Puis elle devient : toto.csv

    au final je me retrouve avec une variable "chaine" valant "TEXT;" & Repertoire & Fichier, soit "TEXT;" c:\mondossier\test\toto.csv qui par la suite peut être appellé par ActiveSheet.QueryTables.Add (connection:=chaine).......blablabla

    En espérant que cela puisse aider d'autres personnes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. c#.net récuperer le nom d'un fichier ou dossier
    Par jouidos dans le forum Windows Forms
    Réponses: 1
    Dernier message: 28/05/2008, 14h45
  2. Réponses: 4
    Dernier message: 21/03/2008, 09h06
  3. Réponses: 3
    Dernier message: 19/03/2008, 15h41
  4. Récupérer le nom d'un fichier à partir de son chemin
    Par Jiraiya42 dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2007, 11h38
  5. Réponses: 6
    Dernier message: 05/05/2006, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo