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

Macros et VBA Excel Discussion :

Boucle sur les fichiers d'un repertoire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut Boucle sur les fichiers d'un repertoire
    Bonjour,

    Je souhaite faire une bloucle sur l'ensemble des fichiers d'un répertoire et les stocker dans un sous dossier portant le nom de la date du jour.

    J'utilise donc la fonction Dir. Cela marche tres bien quand je ne fait que boucler sur les fichiers! Mais si je crée le sous-dossier au préalable cela me renvoie une erreur lors de la boucle :/

    Ci dessous 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
    Sub stockage_folder()
    
    a = Date
    a = Replace(a, "/", "-")
    MyPath = "C:\Documents and Settings\f-freyssinier\Desktop\Factures\"
    fic = Dir(MyPath & "*.pdf")
    
    If fic <> "" Then
        Dossier = MyPath & a
        If Dir(Dossier, 16) = "" Then
            MkDir Dossier
        End If
    End If
    
    Do Until fic = ""
    
        Name MyPath & fic As Dossier & "\" & fic
    
    fic = Dir
    Loop
    
    End Sub
    En rouge, l'erreur se produit à cette ligne!
    Erreur numero 5: Argument ou appel de procédure incorrect"!

    Je ne sais vmt pas d'où cela peut venir.

    Chipss

  2. #2
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 278
    Billets dans le blog
    2
    Par défaut
    Bonjour Chipss,

    Si tu appelles la fonction Dir sans argument, elle te renvoie la prochaine réponse à la recherche précédente

    Or dans ta création de dossier, tu réutilises Dir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Dir(Dossier, 16) = "" Then
    Donc si tu crées le dossier, le Dir de la fin (Do-Loop) renvoie la prochaine réponse de celui de la création de dossier...

    Peut-être comme ça :

    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
    Sub stockage_folder()
    
    a = Date
    a = Replace(a, "/", "-")
    MyPath = "C:\Documents and Settings\f-freyssinier\Desktop\Factures\"
    fic = Dir(MyPath & "*.pdf")
    
    If fic <> "" Then
        Dossier = MyPath & a
        If Dir(Dossier, 16) = "" Then
            MkDir Dossier
    fic = Dir(MyPath & "*.pdf")
        End If
    End If
    
    Do Until fic = ""
    
        Name MyPath & fic As Dossier & "\" & fic
    
    fic = Dir
    Loop
    
    End Sub

  3. #3
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut
    Ok merci bcp ta solution marche!

    J'avais egaleemtn reussi en sortant les ligne pour créer le dossier dans un sub différent.

    Merci pour l'explication en tout cas

    Chipss

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

Discussions similaires

  1. Boucle sur les noms de fichier d'un répertoire
    Par bilou_12 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/04/2012, 12h12
  2. Boucle sur les pixels d'une fichier image
    Par Beaudelicius dans le forum Général Python
    Réponses: 2
    Dernier message: 19/02/2012, 19h57
  3. lancer un script sur TOUS les fichiers d'un repertoire
    Par oliviernouhi dans le forum Langage
    Réponses: 4
    Dernier message: 21/11/2011, 11h29
  4. Réponses: 6
    Dernier message: 02/07/2008, 10h06
  5. Script qui liste les repertoires donnant des liens sur les fichiers
    Par PsYKrO dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 22
    Dernier message: 27/03/2008, 09h46

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