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 dans un dossier [XL-2010]


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
    Avril 2013
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 148
    Par défaut Boucle dans un dossier
    Bonjour à tous,

    voila je souhaite effetuer un traitement sur les fichiers contenu dans un dossier. Mais je n'arrive pas à créer une boucle sur mes fichiers.

    J'ai essayé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Chemin = "C:\..."
        Fichier = Dir(Chemin & "*.*")
     
        Do While Len(Fichier) > 0
            Debug.Print Chemin & Fichier
            Fichier = Dir
        Loop
    Cependant, ce code lit 1 fichier sur 5...
    J'ai donc 4 fichiers qui ne sont pas traités à chaque boucles.

    Comment rectifié ceci svp ?

    Merci!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je ne connais pas la fonction Len, mais (http://msdn.microsoft.com/fr-fr/libr...=vs.80%29.aspx) il semble qu'il s'agisse du nombre de caractère d'une chaîne de caractère.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Do While Len(Fichier) > 0
    Cela signifie donc que si le nombre de caractères du nom fichier est supérieur à 0, la boucle s'arrête en principe.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2013
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 148
    Par défaut
    La fonction Len retourne le nombre de caractère du nom du fichier.
    Donc ici, tant que le nom du fichier est supérieur à 0 (donc qu'il y a un nom de fichier) le programme tourne.
    ça fonctionne mais le problème c'est que ça me saute des fichiers, autrement la boucle fonctionne elle s'arrete au dernier fichier.

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Sujet traité des millions de fois. Tu as 36 millions de façons d'approcher. Choisis la tienne. Google t'aidera: "Boucler VBA Fichiers Repertoire"

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Peux-tu donner le nom d'un fichier non traité ? Est-ce qu'il ne s'agit pas de fichiers système ou cachés ?

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2013
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 148
    Par défaut
    Citation Envoyé par EngueEngue Voir le message
    Sujet traité des millions de fois. Tu as 36 millions de façons d'approcher. Choisis la tienne. Google t'aidera: "Boucler VBA Fichiers Repertoire"
    J'ai déjà cherché, j'ai même trouvé la boucle (que je cite plus haut) mais le problème c'est que ça ne traite pas tous les fichiers (seulement 1/5).
    Merci quand même de la réponse.

    Citation Envoyé par Daniel.C Voir le message
    Bonjour,

    Peux-tu donner le nom d'un fichier non traité ? Est-ce qu'il ne s'agit pas de fichiers système ou cachés ?
    Tous mes fichiers sont composés de la même manière (xxxxx - yyy.pdf), donc je ne comprends pas du tout d'ou ça peut venir J'ai quand même vérifié, ils ne sont pas cachés.

    PS: J'ai ajouté des fichiers, mais la boucle va quand même de 5 en 5... (et ne prend donc pas forcèment les même fichiers à chaque test suivant que j'ajoute ou enlève des fichier).

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par sasafca Voir le message
    Donc ici, tant que le nom du fichier est supérieur à 0 (donc qu'il y a un nom de fichier) le programme tourne.
    Oui, c'est ça plutôt .

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    "Dir" va lire les fichiers dans l'ordre de la date de création, pas forcément l'ordre qui est affiché dans l'explorer. Tu es bien sûr qu'en tout la boucle n'est passée que sur 1/5 des fichiers du dossier ?

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2013
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 148
    Par défaut
    Incoryable, j'ai relancer Excel et la boucle marche.
    J'ai cependant une erreur maintenant que j'ai ajouté mon traitement à la boucle sur le ça me met "Erreur d'execution 5" argument ou appel de procèdure incorrect...
    alors que tout à l'heure la boucle fonctionnait...

    Est-ce que vous pourriez jetter un coup d'oeil à mon fichier excel si je le post ?

    encore merci de votre aide

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

Discussions similaires

  1. Zipper en boucle dans un dossier
    Par Mysen dans le forum ANT
    Réponses: 1
    Dernier message: 10/12/2012, 17h46
  2. [TOS4.2.3] Boucle dans un dossier tant que
    Par Albat_r dans le forum Développement de jobs
    Réponses: 11
    Dernier message: 24/02/2012, 16h42
  3. [AC-2002] Boucle pour importer et traiter des fichiers excel dans un dossier
    Par Tinien dans le forum VBA Access
    Réponses: 9
    Dernier message: 02/06/2010, 11h59
  4. Réponses: 1
    Dernier message: 04/02/2010, 20h41
  5. Notion de boucles dans Business Object
    Par lionelEIGIP dans le forum Deski
    Réponses: 1
    Dernier message: 08/04/2004, 11h26

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