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

VB 6 et antérieur Discussion :

fonction(s) vb6 qui permet parcourir OS à la recherche d'un fichier(s)


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 67
    Par défaut fonction(s) vb6 qui permet parcourir OS à la recherche d'un fichier(s)
    Je voulais savoir s’il existe une fonction VB6 qui va me permettre de parcourir mon OS à la recherche d’un fichier(s) via son extension et pourquoi pas les lister.

  2. #2
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 67
    Par défaut
    Ca marche pas lorsque je modifie la nature de fichier à chercher

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Montre-nous ton code qui ne marche pas.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 67
    Par défaut
    c'est le code:

    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
    Private Sub Command1_Click()
        Text1.Text = SelectFolder("Sélectionner un répertoire", Me.hWnd)
    End Sub
     
    Private Sub Command2_Click()
        List1.Clear
        Label1.Caption = "Nombre de fichiers lus : " & ScanFolder(Text1.Text, Text2.Text, Check1.Value <> 0)
        Screen.MousePointer = vbDefault
        Me.StatusBar1.Panels(1).Text = "Recherche terminée"
    End Sub
     
    Private Sub Form_Load()
        Text1.Text = "C:\"
        Label1.Caption = "Nombre de fichiers lus : "
        Text2.Text = "bd1.mdb"  'j'ai modifier bd1.mdb par *.bak par exemple
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
        Set fs = Nothing
        End
    End Sub
    et l'erreur se place au niveau du code du module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ScanFolder = fs.GetFolder(FolderPath).Files.Count
    erreur accés refusé

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Bonsoir

    A partir du prog "Faire une recherche récursive d'un fichier, ScanFolder.zip de ThierryAim" (le même que toi je supose), j'ai modifié un peu.

    j'ai rajouter une variable public MasqRechercher as String
    Dans "Private Sub Command2_Click()"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Command2_Click()
        Screen.MousePointer = vbHourglass
        List1.Clear
        MasqRechercher = Replace(Text2, "*", "") ' ********nouveauté
        Label1.Caption = "Nombre de fichiers lus : " & ScanFolder(Text1.Text, Text2.Text, Check1.Value <> 0)
        Screen.MousePointer = vbDefault
        Me.StatusBar1.Panels(1).Text = "Recherche terminée"
    End Sub
    dans "Public Function ScanFolder(FolderPath ..."
    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
    Public Function ScanFolder(FolderPath As String, Optional Filename As String = "", Optional SubFold As Boolean = True) As Long
    ' Fonction récursive pour l'exploration des répertoires
     
        Dim Element As Variant
        Dim StrPath() As String
     
        On Error Resume Next ' ********nouveauté
        ScanFolder = fs.GetFolder(FolderPath).Files.Count
        If Err.Number <> 0 Then On Error GoTo 0: Exit Function ' ********nouveauté
     
        For Each Element In fs.GetFolder(FolderPath).Files
            Form1.StatusBar1.Panels(1).Text = FolderPath
            If Filename <> "" Then
                StrPath = Split(Element, "\")
                'If InStr(1, StrPath(UBound(StrPath)), Filename) Then _
                '        Form1.List1.AddItem Element
                'ICI LA DIFFERENCE  ' ********nouveauté
    	If InStr(1, StrPath(UBound(StrPath)), MasqRechercher) Then _
                        Form1.List1.AddItem Element
            Else
                Form1.List1.AddItem Element
            End If
            DoEvents
        Next Element
     
        If SubFold Then
            For Each Element In fs.GetFolder(FolderPath).SubFolders
                ScanFolder = ScanFolder + ScanFolder(Element.Path, Filename, SubFold)
            Next Element
        End If
    End Function
    Dans TEXT2 je met "*.mdb"
    Resultat : toutes les ".mdb" sont mis dans List1


    Pour infos au vue de ma signature, tu as 6 discutions ouvertes, pas une seule resolue ?
    C'est NOEL, je suis en vacances, donc j'avais le temps ...
    Bonsoir
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

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

Discussions similaires

  1. Macro qui permet d'appliquer une macro sur un fichier excel
    Par zak-mouk dans le forum Général VBA
    Réponses: 2
    Dernier message: 23/06/2015, 17h15
  2. OpenLayers.Control.OpenSearch qui permet de faire une recherche
    Par informatica1989 dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 08/03/2013, 15h03
  3. Réponses: 3
    Dernier message: 19/05/2009, 18h27
  4. script linux qui permet de vérifier une valeur dans un fichier
    Par adiloos98 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 14/05/2008, 18h02
  5. cherche une fonction qui permet de faire une recherche
    Par vbcasimir dans le forum Langage
    Réponses: 7
    Dernier message: 01/09/2005, 17h24

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