Bonjour

Voila j'ai un probleme au niveau du parcours des fichiers d'un repertoire.

En fait mon programme ce positionne sur un repertoire contenant des fichiers excel afin de tous les parcourir et d'en extraire certaines informations.

Cependant je ne sais pas pourquoi pour certains repertoires l'application ne les parcours pas dans l'ordre.
Je vous fais parvenir un bout de mon 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
 
Private Sub Commande21_Click()
 
'importer toutes les factures d'un repertoire
Dim bd As Database
Dim reponse As String
Dim repertoire As String
Dim fichier As String
Dim extension As String
Dim animal As String
Dim année As Integer
Dim semaine As String
Dim extraction As String
Dim typeimport As String
Dim i As Integer
Dim j As Integer
Dim Rst As Recordset
Dim rst1 As Recordset
Dim texte As String
 
Set bd = CurrentDb 'definition de la base de données de reference (celle en cours)
Set rst1 = bd.OpenRecordset("doublons", dbOpenDynaset)
DoCmd.RunSQL "ALTER TABLE factures DROP CONSTRAINT PrimaryKey" 'on enleve la clé primaire pour eviter le bloquage du prog sur les doublons
 
'C:\Documents and Settings\CUMA de l'Onglet\Mes documents\CUMAFACTURE
 i = 0 'initialisation du compteur de factures extraites
 j = 0 'initialisation du compteur de doublons
 
 extension = "*.xls" 'selection de l'extension à rechercher dans le repertoire
 
 animal = InputBox("type d'animal desiré?") 'selection du type de facture à importer
 année = InputBox("quelle année?") 'choix de l'année des factures
 reponse = MsgBox("lancer l'import", vbYesNo, "import des factures") 'demande de confirmation de lancement de la tache
 
 Select Case reponse 'suivant la reponse
 Case vbYes 'si oui
 'MsgBox ("appuyer sur echap pour arreter la tache a tout moment")
    'While GetAsyncKeyState(27) = 0 'tant que la touche echap n'as pas été pressé on poursui la tache
     typeimport = MsgBox("tout extraire?", vbYesNo)
     If animal = "agneaux" Then
        excel.Workbooks.Open ("Z:\cuma\agneaux\2008\Facture vierge AGNEAUXP.xls") 'ouverture du fichier contenant la macro
        repertoire = ("Z:\cuma\agneaux\" & année & "\") 'definition du repertoire de recherche
            ElseIf animal = "bovins" Then
            excel.Workbooks.Open ("Z:\cuma\GROSBOVIN\2008\Facture vierge bovinP.xls")
            repertoire = ("Z:\cuma\GROSBOVIN\" & année & "\")
                ElseIf animal = "porcs" Then
                excel.Workbooks.Open ("Z:\cuma\Porcs\2008\Facture vierge porcsP.xls")
                repertoire = ("Z:\cuma\Porcs\" & année & "\")
                    ElseIf animal = "veaux" Then
                    excel.Workbooks.Open ("Z:\cuma\Veaux\2008\Facture vierge veauxP.xls")
                    repertoire = ("Z:\cuma\Veaux\" & année & "\")
     End If
 
    fichier = Dir(repertoire & extension)   'association du repertoire et l'extension pour obtenir uniquement le nom du fichier
    MsgBox (fichier) 'affichage du premier fichier du repertoire
 
   While Left(fichier, 14) <> "Facture vierge" Or fichier = "" 'parcours du repertoire
      excel.Workbooks.Open (repertoire & fichier) 'ouverture du fichier excel

Merci pour vos remarques.

Amicalement Scons