1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Compiler des données en provenance de plusieurs fichiers xls dans un seul fichier

Discussion dans 'Forum Excel' démarrée par titia, 30 Janvier 2012.

  1. titia

    titia XLDnaute Nouveau

    Inscrit depuis le :
    10 Février 2011
    Messages :
    10
    "J'aime" reçus :
    0
    Bonjour,

    j'aimerais effectuer une action qui parait pourtant très simple et dont je n'arrive pas à trouver l'astuce :
    compiler des données qui proviennent de différents fichiers excel (environ 10 fichiers tous avec le même squelette) dans un seul et même fichier.
    Pour résumé, je reçois de plusieurs agences, des fichiers identiques dans lesquels ces agences m'exprime leurs besoins sur des produits.
    Je dois compiler ces données pour ensuite les analyser dans leur globalité tout en conservant le demandeur.
    En gros actuellement j'enchaine les copier coller ... ce qui me fait perdre un temps fou !

    je ne suis vraiment pas très forte en ce qui concerne la construction de macro !
    Pouvez-vous m'aidez SVP ?

    Pour information, je connais la notion de "consolider" dans excel 2010 mais celle-ci m'aditionne les données, moi je veux les voir toutes apparaître dans le fichier pour ensuite éventuellement créer un sous total.

    merci d'avance pour votre aide.
     
  2. Chargement...

    Discussions similaires - Compiler données provenance Forum Date
    XL 2010 Compiler les données de plusieurs onglets Forum Excel 25 Avril 2018
    XL 2016 Compiler données de plusieurs onglets selon deux critéres Forum Excel 7 Mars 2018
    Demande d'exemple pour compiler avec une boucle des données dans une autre feuille Forum Excel 4 Juillet 2015
    Compiler des dates qui se suivent dans un tableau de données Forum Excel 27 Octobre 2014
    Comment compiler des données qui se mettent à jour automatiquement? Forum Excel 1 Octobre 2013

  3. titia

    titia XLDnaute Nouveau

    Inscrit depuis le :
    10 Février 2011
    Messages :
    10
    "J'aime" reçus :
    0
    Re : Compiler des données en provenance de plusieurs fichiers xls dans un seul fichie

    voici un fichier joint qui pourra peut être mieux vous éclairer .. sachant que les données viendront de plusieurs FICHIERS et non feuilles dans un même classeur comme ci joint.

    Mderci d'avance
     

    Pièces jointes:

  4. Modeste

    Modeste XLDnaute Barbatruc

    Inscrit depuis le :
    6 Mars 2008
    Messages :
    7014
    "J'aime" reçus :
    688
    Habite à:
    Un petit coin de Belgique
    Utilise:
    Excel 2010 (PC)
    Re : Compiler des données en provenance de plusieurs fichiers xls dans un seul fichie

    Bonjour titia, le forum,

    En annexe, ton fichier avec la seule feuille Compil, ainsi qu'une petite macro basique: pour autant que tous tes fichiers d'agences aient bien la même structure (des données de A3 à AAx), que ces fichiers soient tous enregistrés dans le même répertoire que le présent fichier, au format ".xlsx" et qu'il n'y ait pas dans ce répertoire, d'autres fichiers avec la même extension, mais qui ne devraient pas être "compilés".

    La macro reprend toutes les infos des fichiers d'agences (si j'ai bien compris! :confused:) et ajoute, en première colonne, le nom du fichier d'où les infos sont extraites!

    Jette un oeil, fais des tests, ... et dis-nous ensuite ce qu'il en est.
     

    Pièces jointes:

  5. titia

    titia XLDnaute Nouveau

    Inscrit depuis le :
    10 Février 2011
    Messages :
    10
    "J'aime" reçus :
    0
    Re : Compiler des données en provenance de plusieurs fichiers xls dans un seul fichie

    Bonjour Modeste,

    Tout d'abord merci pour ton aide, cette macro est géniale ! c'est exactement ce qu'il me faut !!
    Par contre si je ne veux pas que la colonne A récupère le titre du fichier, comment faire ?

    En effet, à l'avenir les fichiers à compiler auront une colonne "agence" en A dans laquelle les agences y inscriveront leur "nom" ; de ce fait je n'aurais vraiment qu'à compiler les données.

    Merci infiniment pour ton aide
     
  6. Modeste

    Modeste XLDnaute Barbatruc

    Inscrit depuis le :
    6 Mars 2008
    Messages :
    7014
    "J'aime" reçus :
    688
    Habite à:
    Un petit coin de Belgique
    Utilise:
    Excel 2010 (PC)
    Re : Compiler des données en provenance de plusieurs fichiers xls dans un seul fichie

    Bonjour titia,

    Le code proposé n'est jamais qu'une compilation (aussi!) de tout ce que j'ai pu trouver à droite et à gauche sur ce forum. Tu noteras que j'ai qualifié la macro de "basique" (elle copie, sans vérifier quoi que ce soit!) ... En fonction de ta situation réelle, il y aura peut-être d'autres adaptations à faire.

    Pour ta question, il me semble qu'en supprimant la colonne "Agence" (que j'avais ajoutée), puis en modifiant les deux choses suivantes dans le code, ça devrait être bon:
    - supprimer (ou mettre en commentaire, en la faisant précéder d'une apostrophe) la ligne 11:
    - remplacer le 'B' en rouge ci-dessous, par un 'A' à la ligne 13:
     
  7. titia

    titia XLDnaute Nouveau

    Inscrit depuis le :
    10 Février 2011
    Messages :
    10
    "J'aime" reçus :
    0
    Re : Compiler des données en provenance de plusieurs fichiers xls dans un seul fichie

    Bonjour Modeste,

    Super je te remercie.
    Le process qui utilise cette macro doit être mis en place le 15/02 donc dès le 15/02 j'utiliserai cette macro de manière régulière.
    Je te tiens au courant et je risque de revenir vers toi peut être.

    merci beaucoup pour ton aide !
     
  8. titia

    titia XLDnaute Nouveau

    Inscrit depuis le :
    10 Février 2011
    Messages :
    10
    "J'aime" reçus :
    0
    Re : Compiler des données en provenance de plusieurs fichiers xls dans un seul fichie

    Bonjour Modeste,

    Comme convenu je reviens vers toi !
    ça y est j'ai reçu le fichier officiel que je vais devoir compiler !

    j'ai essayé de modifier ton code en conséquence des quelques changements mais je vois que quelques anomalies remontent.
    En effet, l'ensemble des données du classeur 3 par exemple ne remontent pas.
    De plus, la colonne A "agence" sera déjà remplie par les agences, j'aimerais donc que celle-ci n'aille pas récuperer le nom du classeur mais remonte à l'identique les fichiers reçus.

    Est-ce possible ?
    Je te mets en pièce jointe mon test.

    Merci d'avance pour ton aide précieuse !

    PS le fichier contenant le code ne passe pas, je t'envoie donc les trois classeurs test.
    Avec ton dans lequel j'ai modifié les les plages de données, quand je lance la macro cela me décale tout d'une ligne et je n'obtiens pas la totalité des lignes de mon classeur 3

    Merci beaucoup !
     

    Pièces jointes:

  9. titia

    titia XLDnaute Nouveau

    Inscrit depuis le :
    10 Février 2011
    Messages :
    10
    "J'aime" reçus :
    0
    Re : Compiler des données en provenance de plusieurs fichiers xls dans un seul fichie

    C'est bon je crois que j'ai résolu le problème en effectuant tes modifs préconisées ci-dessus !
    merci beaucoup
     
  10. Excel_Dynamo

    Excel_Dynamo XLDnaute Nouveau

    Inscrit depuis le :
    2 Janvier 2019
    Messages :
    5
    "J'aime" reçus :
    0
    Bonjour,


    auriez vous idée réutilisé en réutilisant le même code la possibilité d'avoir une feuille (onglet) nommé par exemple Data et que cela face un copier valeur ?

    _______________________________________________________________________
    Sub Compilation()
    Application.ScreenUpdating = False

    Set Compil = ThisWorkbook
    Compil.Sheets(1).Range("A3:AA50000").Clear
    chemin = Compil.Path & "\"
    monFichier = Dir(chemin & "*.xlsx")

    Do While monFichier <> ""
    If monFichier <> Compil.Name Then

    Set f = Workbooks.Open(chemin & monFichier)
    derligne = f.Sheets(1).Range("A65000").End(xlUp).Row
    '******************************************************************
    'Compil.Sheets(1).Range("A65000").End(xlUp).Offset(1, 0).Resize(derligne - 2, 1).Value = monFichier 'Récupération du nom du fichier
    '******************************************************************
    f.Sheets(1).Range("A3:AA" & derligne).Copy _
    Compil.Sheets(1).Range("B65000").End(xlUp).Offset(1, 0).Resize(derligne - 2, 27)
    f.Close
    End If

    monFichier = Dir

    Loop
    Application.ScreenUpdating = True

    End Sub
    _______________________________________________________________________

    Je n'arrive pas a y inclure le code ci dessous pour avoir un onglet "Data" :

    Worksheets("Data").Activate

    de même pour la copie en valeur

    .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    Merci
     
    Dernière édition: 8 Février 2019
  11. Excel_Dynamo

    Excel_Dynamo XLDnaute Nouveau

    Inscrit depuis le :
    2 Janvier 2019
    Messages :
    5
    "J'aime" reçus :
    0
    j'ai résolut mon problème :

    1- Pour un onglet nomé ici "Data" : => on replace :
    derligne = f.Sheets(1).Range("A65000").End(xlUp).Row
    par
    derligne = f.Sheets("Data").Range("A65000").End(xlUp).Row


    2- Pour faire un copier valeur : => on replace :
    Compil.Sheets(1).Range("A65000").End(xlUp).Offset(1, 0).Resize(derligne - 2, 27)
    Par
    Compil.Sheets(2).Range("A65000").End(xlUp).Offset(1, 0).Resize(derligne - 2, 27).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
     
    Dernière édition: 14 Février 2019

Partager cette page