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
Partager