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

Parcourir les fichiers d'un repertoire


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Par défaut Parcourir les fichiers d'un repertoire
    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

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Par défaut
    Bon j'ai une piste.
    En fait j'ai trouvé la façon dont l'application parcour mes fichiers.
    Cela depend de leurs dates de creation.
    Curieusement seul les fichiers ayant la date de creation la plus ancienne sont extraits.
    C'est a dire que si des fichiers sont datés du 05/09/2008 et d'autres a une date anterieur, seul les fichiers du 05/09/2008 sont extrait.
    Les autres ne sont pas traités.

    Voila si quelqu'un connait la solution a ce probleme je suis preneur.

    Amicalement Scons

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/07/2010, 12h31
  2. Copier les fichiers d'un répertoire dont la date est supérieure à x
    Par tatayoyo dans le forum Shell et commandes GNU
    Réponses: 17
    Dernier message: 03/10/2006, 14h28
  3. Afficher les fichiers d'un repertoire
    Par mohamed dans le forum Langage
    Réponses: 2
    Dernier message: 16/02/2006, 11h55
  4. Parcourir les fichier du disque
    Par developpeur_mehdi dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2005, 09h27
  5. [TP]Lister les fichiers d'un répertoire
    Par nvtitan dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 21/06/2002, 11h22

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