Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2007, 19h25   #1
Invité de passage
 
Inscription : mai 2003
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 1
Points : 0
Points : 0
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 :
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 :
1
2
3
4
Sub traitement()
'Normalement ouverture de chaque fichier TEST.XLS successivement
Msgbox "fin"
End sub
breizhou29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 11h43   #2
Rédacteur
 
Avatar de Lou Pitchoun
 
Christophe Lessirard
Inscription : février 2005
Messages : 5 029
Détails du profil
Informations personnelles :
Nom : Christophe Lessirard
Âge : 33
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 5 029
Points : 6 000
Points : 6 000
Envoyer un message via MSN à Lou Pitchoun
Salut,

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

__________________

Access : Les Cours, Les Sources et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
sinon

Ma boite à MPs n'est pas l'annexe du forum Le complément BouleDeCristal n'existe pas encore !!!
Lou Pitchoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h25.


 
 
 
 
Partenaires

Hébergement Web