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 Discussion :

Tri dans une recherche de fichiers


Sujet :

VBA

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2003
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Tri dans une recherche de fichiers
    Slt,

    J'ai récupéré un bout de code sur le net qui normalement recherche les fichiers TEST.XLS dans un répertoire et les traite successivement.

    Le problème c'est qu'il m'ouvre mes fichiers TEST.XLS dans n'importe quel ordre.

    Voilà mon arborescence :
    REPERTOIRE
    - DOSSIER A avec fichier TEST.XLS
    - DOSSIER B avec fichier TEST.XLS
    - DOSSIER C avec fichier TEST.XLS

    Moi je voudrais que quand je clic sur REPERTOIRE il me trouve d'abord le ficheir TESTdu dossier A puis du B puis du C (l'ordre alphabétique quoi !)

    Quelqu'un peut 'il m'aider ? ca fait 1 semaine que je me prend la tête.
    Je précise que je suis loin d'être un spécialiste!!!

    MERCI D'AVANCE

    Ci-joint un extrait du 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    Public Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
    End Type
    '32-bit API declarations
    Declare Function SHGetPathFromIDList Lib "shell32.dll" _
    Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
    Declare Function SHBrowseForFolder Lib "shell32.dll" _
    Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
    Public textetotal As String
    Public texte As String
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function GetDirectory(Optional Msg) As String
     
    Dim bInfo As BROWSEINFO
    Dim path As String, dossier As String
    Dim r As Long, x As Long, pos As Integer
    bInfo.pidlRoot = 0&
    If IsMissing(Msg) Then
    bInfo.lpszTitle = "Choisissez un dossier de destination pour les sauvegardes."
    Else
    bInfo.lpszTitle = Msg
    End If
    bInfo.ulFlags = &H1
    x = SHBrowseForFolder(bInfo)
    path = Space$(512)
    r = SHGetPathFromIDList(ByVal x, ByVal path)
    If r Then
    pos = InStr(path, Chr$(0))
    GetDirectory = Left(path, pos - 1)
    dossier = GetDirectory & ""
    Else
    GetDirectory = ""
    End If
    End Function
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Sub recherche_fichier()
     
    dossier = GetDirectory("Sélectionner le répertoire de travail")
    If dossier = "" Then MsgBox "Fin du programme", vbCritical, "Pas de répertoire selectionné"
    If dossier = "" Then End
     
      With Application.FileSearch
        .NewSearch
        '.RefreshScopes
        .LookIn = dossier
        .Filename = "TEST.xls"
        .FileType = msoFileTypeAllFiles
        .SearchSubFolders = True
        .Execute
     
    Application.DisplayAlerts = False
        For Ctr = 1 To .FoundFiles.Count
            nom_fichier = .FoundFiles(Ctr)
            Workbooks.Open Filename:=nom_fichier
     
    ''''ouverture puis lecture du fichier
            Call traitement
        Next
      End With
    Application.DisplayAlerts = True
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub traitement()
    'Normalement ouverture de chaque fichier TEST.XLS successivement
    Msgbox "fin"
    End sub

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Tu trouveras ici de quoi parcourir de manière récursive un répertoire et ses sous-répertoires.


Discussions similaires

  1. Réponses: 2
    Dernier message: 29/02/2012, 15h20
  2. Réponses: 4
    Dernier message: 01/03/2010, 21h00
  3. rechercher du texte dans une arborescence de fichier
    Par tibotibo69 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 24/08/2009, 11h47
  4. Tri dans une recherche
    Par jojo57 dans le forum Access
    Réponses: 9
    Dernier message: 04/05/2006, 10h47
  5. Rechercher une chaîne de caractère dans une série de fichier
    Par Edoxituz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/02/2006, 12h51

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