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 :

Macro dans des sous fichiers.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut Macro dans des sous fichiers.
    Bonjour à tous,
    J'ai une macro, le seul endroit où je big est sur le début (la ou je dois la lancer) Je m'explique :
    Je souhaite que la macro s'applique à un ensemble de fichier se trouvant dans des sous dossiers
    exemple c:\dossiera\dossierb\dossierc\sousdossier 1
    c:\dossiera\dossierb\dossierc\sousdossier 2 etc

    Comment puis je dire à la macro de ne se lancer que dans les sous dossuers du dossierc?

    Merci pour votre aide

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Le code ci dessous boucle sur tous les sous-dossiers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim fso As Object
    Dim FsoRepertoire As Object
    Dim FsoSubFolder As Object
     
    Set fso = CreateObject("Scripting.FileSystemObject")
     
    Set FsoRepertoire = fso.GetFolder("c:\dossiera\dossierb\dossierc")
     
    For Each FsoSubFolder In FsoRepertoire.SubFolders
        MsgBox FsoSubFolder .Name
    Next

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut
    Bonjour.
    MErci pour ton aide.
    Maintenant, quand je lance ma macro il n'y a pas de bug mais elle ne fait pas ce que je souhaite.. j'ai du louper un truc.
    Puis je te la montrer? (elle est relativement courte)

    Merci

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    oui, ajoutes ton code

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut
    Bonjour,

    J’ai vraiment essayé de la faire par moi-même, mais mes connaissances en macro m’en ont empeche.
    En fait, je cherche à faire une macro relativement simple qui puisse faire les étapes suivantes
    1/ Dans un ensemble de sous dossier, les ouvrir.
    2/ Aller dans chaque onglet
    3/ Si en cellule A1, vous trouvez la valeur « machin », alors faites l’opération suivante
    Selectionner les colonnes A à D et les copier en F à G en gardant les formules de calcul et les liens et la mise en forme.

    Mon code ci-dessous ne me le permet pas.

    Merci d’avance pour votre aide
    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
    Sub Macro2()
        Dim fso As Object
    Dim FsoRepertoire As Object
    Dim FsoSubFolder As Object
     
    Set fso = CreateObject("Scripting.FileSystemObject")
     
    Set FsoRepertoire = fso.GetFolder("C:\Document\dossiera\")
     
    For Each FsoSubFolder In FsoRepertoire.SubFolders
     
     
    Next
                  Worksheets.Select
                  If Range("A1").Value = "machin" Then
                 copyRange("A:D") = Range("F:G")
     
                  End If
     
                Application.DisplayAlerts = False
                ActiveWorkbook.SaveAs
                Application.DisplayAlerts = True
                ActiveWorkbook.Close False
    End Sub
    End Sub

    Bonjour,

    J'ai une question
    Pour que ca ne bug pas (en allant chercher à copier des lignes), puis je mettrre une limitation comme Merci pour votre aide

Discussions similaires

  1. recherche de fichier dans des sous repertoires
    Par Abou Zar dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2010, 09h48
  2. compte de fichiers contenus dans des sous répertoires
    Par Jasmine80 dans le forum Langage
    Réponses: 4
    Dernier message: 27/02/2008, 08h58
  3. Suppression de fichiers dans des sous-répertoires
    Par astrolane dans le forum Langage
    Réponses: 2
    Dernier message: 07/09/2007, 15h22
  4. Recherche de fichiers dans des sous répertoires
    Par Mimi Bulles dans le forum Langage
    Réponses: 8
    Dernier message: 25/04/2006, 16h41
  5. Chemin d'accès des fichiers dans des sous rep
    Par Le Veilleur dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/11/2004, 14h37

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