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 :

Exécuter une macro sur tous les fichiers d'un dossier.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de lulu_MAHC
    Homme Profil pro
    Stagiaire
    Inscrit en
    Février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 53
    Par défaut Exécuter une macro sur tous les fichiers d'un dossier.
    Salut Salut ,
    J'ai lu cette discussion.

    Citation Envoyé par ahmet Voir le message
    merci pour vos conseils

    j'ai finalement opté pour ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Repertoire As FileDialog
     
    Set Repertoire = Application.FileDialog(msoFileDialogFilePicker) Repertoire.Show
     
    For i = 1 To Repertoire.SelectedItems.Count ' execution de la macro pour chacun des fichiers.
     
    next
    Merci
    Sauriez-vous, par hasard si on peux a la place de devoir selectionner les fichiers sur lesquels on veut efectuer le traitement boucler automatiquement sur tous les fichiers que contient le dossier cible ?

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    La réponse en #2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Chemin = "Le chemin complet de ton dossier\"   'Avec \ à la fin
     
    fichier = Dir(Chemin & "*.xls")
     
    Do While Len(fichier) > 0
     
        MsgBox fichier
        fichier = Dir()                              'On passe au fichier suivant
    Loop

  3. #3
    Membre averti Avatar de lulu_MAHC
    Homme Profil pro
    Stagiaire
    Inscrit en
    Février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 53
    Par défaut
    Effectivement j'utilise ton code mais il y a un petit probleme. En fait, si le dossier ne contient qu'un fichier, le programme de fonctionne pas.
    Je m'explique : J utilise ta boucle pour faire tourner un traitement sur un grand nombre de fichier. Le debut de mon programme est en fait
    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
    Sub InfotpathToAccess()
     
    Dim File_Name
    i = 0
    chemin = "C:\Users\lcatelli\test-temporaire\Conversion\" 'MUST CHANGE !
    File_Name = Dir(chemin & "*.xml")
     
    Do While Len(File_Name) > 0
    File_Name = Dir()
     
    'Transform the INFOPATH into EXCEL
    Const ForReading = 1
    Dim T As String
    Dim oFSO As Object
    Dim oTxt As Object
    Dim MyDataObj As New DataObject
    'Initialization FSO
     
    Set oFSO = CreateObject("Scripting.FileSystemObject")
     
     
    Set oTxt = oFSO.OpenTextFile(File_Name, ForReading)  ' to Change
    Je me sers donc de File_Name ( qui est en fait ta variable fichier ) pour faire le traitement sur ce fichier la .. Seulement le probleme est la... J ai pu constate qu'il bloque a cette ligne lorsque le dossier ne contient qu'un fichier ou alors il bloque systematiquement pour le traitement du dernier fichier (lorsque le dossier contient tout mes fichiers ). Je precise que sur un dossier contenant 10 fichiers , les 9 sont correctement traites, avec l integralite des instruction mais que la dernier boucle bloque a la ligne 22
    Je ne sais pas trop pourquoi... peut etre as tu la reponse ...

    Merci d avance

Discussions similaires

  1. Exécuter une macro sur tous les fichiers d'un dossier
    Par wissal2015 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/10/2015, 21h39
  2. Exécuter une macro sur tous les onglets d'un fichier sauf un
    Par Marsama dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/04/2011, 17h38
  3. [XL-2003] Exécuter une macro sur tous les fichiers d'un dossier.
    Par ahmet dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/10/2009, 09h49
  4. Exécuter un commande sur tous les fichiers d'un dossier
    Par Gog077 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 09/09/2009, 11h55
  5. exécuter une commande sur tous les fichiers des sous dossiers
    Par Concombre Masqué dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 05/03/2009, 01h15

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