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

Macros et VBA Excel Discussion :

VBA Excel récuperer nom de fichier via URL


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 16
    Points
    16
    Par défaut VBA Excel récuperer nom de fichier via URL
    Bonjour à tous !

    j'aurai besoin d'un coup de main,
    en fait je voudrais récupérer le nom d'un fichier de type .xls qui se trouve dans un serveur...

    J'ai d'abord testé en local et cela marche parfaitement :

    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
     
    Sub test2()
     
    Dim oFSO As Scripting.FileSystemObject
    Dim oFl As Scripting.File
    Dim strChemin As String
    Set oFSO = New Scripting.FileSystemObject
     
     
    strChemin = "D:\test\file.xls"
     
    If oFSO.FileExists(strChemin) Then
        Set oFl = oFSO.GetFile(strChemin)
        MsgBox oFSO.GetBaseName(strChemin)
        MsgBox oFSO.GetFileName(strChemin)
        MsgBox oFSO.GetExtensionName(strChemin)
     
    End If
     
    End Sub

    Par contre, le fichier que je veux récupérer se trouve sous :
    https://123456.com/dossier1/dossier2/file.xls

    j'ai testé ceci :


    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
     
    Sub test2()
     
    Dim oFSO As Scripting.FileSystemObject
    Dim oFl As Scripting.File
    Dim strChemin As String
    Set oFSO = New Scripting.FileSystemObject
     
     
    strChemin = "https://123456.com/dossier1/dossier2/file.xls"
     
    If oFSO.FileExists(strChemin) Then
        Set oFl = oFSO.GetFile(strChemin)
        MsgBox oFSO.GetBaseName(strChemin)
        MsgBox oFSO.GetFileName(strChemin)
        MsgBox oFSO.GetExtensionName(strChemin)
     
    End If
     
    End Sub

    mais cela ne marche pas un petit coup de main ?

    Merci !

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour,

    pas besoin de FSO !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Demo4Noob()
        Chemin$ = "https://123456.com/dossier1/dossier2/file.xls"
        E& = InStrRev(Chemin, ".")
        P& = InStrRev(Chemin, "/")
     
        MsgBox Left(Chemin, P) & vbLf & Mid(Chemin, P + 1) & vbLf & _
               Mid(Chemin, P + 1, E - P - 1) & vbLf & Mid(Chemin, E)
    End Sub
    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Merci !! Ca marche !

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Pour s'affranchir de FSO dans les deux cas :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Private Type FileInfoType
        Base As String
         Ext As String
        Name As String
        Path As String
    End Type
     
     
    Private Function FileInfo(SOURCE$) As FileInfoType
        E& = InStrRev(SOURCE, ".")
        P& = InStrRev(SOURCE, IIf(InStr(SOURCE, "/"), "/", "\"))
     
        If E * P And E > P + 1 Then
            FileInfo.Base = Mid$(SOURCE, P + 1, E - P - 1)
             FileInfo.Ext = Mid$(SOURCE, E)
            FileInfo.Name = Mid$(SOURCE, P + 1)
            FileInfo.Path = Left$(SOURCE, P)
        End If
    End Function
     
     
    Sub Demo1()
        Dim INFO As FileInfoType
        CHEMIN$ = "D:\test\file.xls"
     
        If Dir(CHEMIN) > "" Then
            INFO = FileInfo(CHEMIN)
            MsgBox INFO.Path & vbLf & INFO.Name & vbLf & INFO.Base & vbLf & INFO.Ext
     
        Else
            MsgBox "Pas trouvé  " & CHEMIN & "  !"
        End If
    End Sub
     
     
    Sub Demo2()
        Dim INFO As FileInfoType
        CHEMIN$ = "https://123456.com/dossier1/dossier2/file.xls"
           INFO = FileInfo(CHEMIN)
        MsgBox INFO.Path & vbLf & INFO.Name & vbLf & INFO.Base & vbLf & INFO.Ext
    End Sub
    __________________________________________________________________________________________

    Merci de cliquer sur si ce message aide …

    __________________________________________________________________________________________
    La connaissance, c'est comme la confiture, moins on en a plus on l'étale !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

Discussions similaires

  1. [VBA] Excel Récuperer Macro sur fichier corrompu
    Par Phenx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/01/2009, 13h13
  2. [Excel VBA]Recup du nom du fichier référencé
    Par Misha dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/10/2008, 12h04
  3. récuperer nom de fichier Excel dans acces
    Par darkspoilt dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/05/2007, 06h09
  4. isoler le nom du fichier dans url
    Par php_de_travers dans le forum Langage
    Réponses: 5
    Dernier message: 03/06/2006, 07h36
  5. [VBA][Excel]Exécution macro avec fichiers source
    Par ouezon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/12/2005, 00h00

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