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 :

VBA Excel: copier et coller à partir de plusieurs fichiers Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Par défaut VBA Excel: copier et coller à partir de plusieurs fichiers Excel
    Bonjour,

    Je dispose de plusieurs dossiers et sous dossiers qui contiennent plusieurs fichiers Excels ( exemple c:\Desktop\2015\01\fichier1). Chaque sous dossier contient plusieurs fichiers Excel. Je veux creer une macro qui ouvre les fichiers Excel 1 par 1 et copie toutes les lignes et les collent toutes dans un ordre decroissant dans une nouvelle feuille excel. Y'a t-il un moyen Pour fair ca svp?

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Ça te prend une Function récursive pour lire tous les répertoires et sous-répertoires.
    Voici un exemple
    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
    Sub SearchFiles()
        ImportFiles "c:\Desktop\2015\"   'Changer au besoin
    End Sub
     
    Sub ImportFiles(varPath As Variant)
        Dim varFile As Variant
        Dim objColl As Collection
     
        On Error GoTo Erreur
     
        Set objColl = New Collection
     
        If Right(varPath, 1) <> "\" Then varPath = varPath & "\"
     
        varFile = Dir(varPath, vbDirectory + vbArchive)
        Do While varFile <> ""
            'Stocke le répertoire
            If GetAttr(varPath & varFile) = vbDirectory Then
                If Left(varFile, 1) <> "." Then
                    objColl.Add varPath & varFile
                End If
     
            'Travailler avec le fichier
            ElseIf LCase(Right(varFile, 3)) = "xls" Or LCase(Right(varFile, 4)) = "xlsx" Then
                'Ouvrir le fichier, le copier et le fermer
                Debug.Print varPath & varFile  'inscrit, pour fins de test, le nom du fichier dans la fenêtre Exécution (Ctrl-G)
            End If
            varFile = Dir
        Loop
     
        For Each varFile In objColl
            ImportFiles varFile
        Next
     
        Set objColl = Nothing
     
        Exit Sub
     
    Erreur:
        MsgBox Err.Number & vbCrLf & Err.Description
    End Sub
    À partir de là, il suffit de trouver la première ligne vide et de copier les données du fichier trouvé.
    À la fin, il te restera à trier dans l'ordre qui te convient.

  3. #3
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, ceci pourrait t'aider ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Par défaut
    Bonjour tout le monde,

    Merci pour votre réponse.
    Mr kiki, le lien que vous m'avez envoyé est inactif.
    Mr parmi ,j'ai mis votre code dans un nouveau module d'une nouvelle feuille Excel mais ca n'a pas marché.

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, faux, le lien est actif, et permet après login de télécharger un fichier Fusion.xlsb, je viens de tester à l'instant

  6. #6
    Membre confirmé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Par défaut
    j'arrive pas à l'ouvrir peut être c'est dû à l'extension du fichier. pouvez -vous svp m'envoyer un format word ou EXCEL ?.

    Merci d'avance.

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Citation Envoyé par LANGAZOU Voir le message
    Bonjour tout le monde,

    Merci pour votre réponse.
    Mr kiki, le lien que vous m'avez envoyé est inactif.
    Mr parmi ,j'ai mis votre code dans un nouveau module d'une nouvelle feuille Excel mais ca n'a pas marché.
    Qu'est-ce qui n'a pas marché ?
    Est-ce que tu comprends le code écrit dans ma macro ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Par défaut
    je suis débutant en VBA, j'ai pas bien compri le code désolé.

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

Discussions similaires

  1. [XL-2010] macro de récuperation de données à partir de plusieurs fichiers excel
    Par julien1603 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/05/2015, 02h37
  2. Réponses: 3
    Dernier message: 02/08/2009, 11h31
  3. Réponses: 1
    Dernier message: 08/10/2008, 15h30
  4. [VBA-E]copier une cellule d'un autre fichier excel?
    Par dev81 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/05/2007, 09h29

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