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

VBA Access Discussion :

[A-07] Rechercher un fichier a partir de son nom


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut [A-07] Rechercher un fichier a partir de son nom
    Bonjour a tous,

    J'essaie de recuperer le chemin de mon fichier et de l'incorporer a ma table a partir du nom partiel du fichier.

    Il faut que je recherche ce nom de fichier sans son extension dans un repertoire connu.

    J'ai trouver ce code mais il ne fonctionne pas. Si vous pouviez jeter un coup d'oeil et m'aider a l'ameliorer. Merci d'avance

    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
    Private Declare Function SearchTreeForFile _
    Lib "imagehlp" (ByVal RootPath As String, _
    ByVal InputPathName As String, _
    ByVal OutputPathBuffer As String) As Long
     
    Public Function chercherFichier(NomFichier As String, _
      Root As String)
    Dim Resultat As Long
    'Creer un buffer
    tempStr = String(260, 0)
    'Lance la recherche
    Resultat = SearchTreeForFile(Root, NomFichier, Temp)
    If Resultat <> 0 Then _
      chercherFichier = Left$(NomFichier, InStr(1, NomFichier, Chr$(0)) - 1) 'ca plante ici
    End Function
    J'utilise access 2007...

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut
    Est ce que le nom du fichier comporte le chemin du répertoir aussi?

    Si tu as

    - un répertoire monrep="Lecteur:\dossiser\sousdos\"
    - des fichiers (test.xls, toto.txt, tuto.html)

    qu'est ce que tu cherches?

  3. #3
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    et ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     chercherFichier  = Mid$(tempstr, InStr(1, tempstr, NomFichier),len(NomFichier)-4 )

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut
    Ce que je cherche c'est que je possede le nom partiel de mon fichier qui devrait normalement etre suffisant pour l'identifier.

    Ce nom est de la forme: LIC-240-A11-A il peut y avoir quelquechose apres mais ce ne sont que des details.

    Je voudrais pouvoir rechercher ce nom de fichier dans un repertoire et enregistrer le chemin du fichier trouve dans ma base.

    A savoir que je ne peut pas utiliser l'extension du fichier qui peut etre de type different suivant le fichier.

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut
    Merci pour ta reponse Helas mais ca ne fonctionne toujours pas.

    Merci quand meme.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut
    Citation Envoyé par damfury Voir le message
    Je voudrais pouvoir rechercher ce nom de fichier dans un repertoire et enregistrer le chemin du fichier trouve dans ma base.

    A savoir que je ne peut pas utiliser l'extension du fichier qui peut etre de type different suivant le fichier.
    A supposer que tu connais le repertoire de recherche, il faut le parcourir et sur chaque fichier trouvé, faire un Instr et tester le résultat

    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
     
        Dim TonRepertoire As String, NomFichier As String, FichierTrouve As String
        Dim MonRes As Variant, Resultat As String, i As Integer
     
        TonRepertoire = "C:\Page\"
        NomFichier = "Index"
        FichierTrouve = ""
        FichierTrouve = Dir(TonRepertoire, vbNormal)
     
    MonRes = 0
    i = 0
    Do While i = 0
          MonRes = InStr(1, FichierTrouve, NomFichier, 1)
          If MonRes <> 0 Then
               Resultat = FichierTrouve
               i = 1
          End If
          FichierTrouve = Dir ' Fichier Suivant
    Loop
    If i = 0 Then
        MsgBox "Aucun fichier trouvé"
    Else
        MsgBox "un fichier trouvé. Nom du fichier : " & Resultat & " Nom complet : " & TonRepertoire & Resultat
    End If

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 357
    Par défaut
    Ou encore :
    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
     
     
    Function SearchFile(strDir As String, Optional strExt = "*.*") As String
    'Retourne le nom des fichiers presents dans un dossier passe en parametre(strDir),
    'en fonction de l'extension recherchée (strExt)
    'La recherche ne se fait pas dans les sous répertoires
    'Ex : filesToSearch = SearchFile("C:\","*.xls") -> on recherche toous les fichiers excel presents dans c:
    'retourne un resultat de la forme fichier1;fichier2;....
     
    On Error GoTo ErrSearchFile
     
    Dim i As Integer
    Dim file As String
     
        With Application.FileSearch
            .NewSearch
            .LookIn = strDir
            .FileName = strExt
     
                If .Execute > 0 Then
                    For i = 1 To .FoundFiles.Count
                        file = FileName(.FoundFiles(i))
                        SearchFile = SearchFile & strDir & file & ";"
                    Next i
                    SearchFile = Left(SearchFile, Len(SearchFile) - 1)
                End If
     
        End With
     
        Exit Function
     
    ErrSearchFile:
        SearchFile = Null
        MsgBox err.Number & vbCrLf & vbCrLf & err.Description, vbCritical
     
    End Function
    Ce code renvoie la liste des elements trouvés séparés par des ";". A adapter pour ton cas.

    En esperant t'avoir aidé

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

Discussions similaires

  1. [Flash Pascal] Lire et jouer un fichier MP3 à partir de son URL
    Par Roland Chastain dans le forum Flash Pascal
    Réponses: 2
    Dernier message: 23/02/2015, 12h37
  2. [DOM] charger un fichier xml à partir de son url
    Par laurentSc dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 14/11/2011, 11h09
  3. [AC-2003] copier un fichier a partir de son chemin
    Par popofpopof dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/06/2010, 11h54
  4. Fermer un flux sur un fichier à partir de son nom
    Par Djobird dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 17/06/2009, 09h18
  5. Réponses: 1
    Dernier message: 06/12/2006, 15h24

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