Synthése de plusieur fichier Excel

bonjour,

Je suis un grand débutant en Excel. N'ayant pas encore eu de formation d'Excel par ma boite je me tourne vers vous.

Au travail, je dois faire une synthèse de donnée de plusieurs fichier Excel. Ces fichier se trouvent dan un même répertoire. c'est un fichier simple qui recense les erreurs notés par plusieurs operateur.....chaque jour les operateur notent les erreurs dans son fichier personnel qui est à son nom. Moi, j'aimerais faire une synthèse de toute ces données dans un fichier synthèse. si j'ai bien lu et compris il me faut une macro. Le top serait un bouton sur le fichier Excel " SYNTHESE" qui, dés que l'on clique dessus récupère toutes les infos des autres fichiers.

Merci pour votre aide.

22aureliane.xlsx (40.48 Ko)
25cecile.xlsx (40.52 Ko)
20david.xlsx (40.52 Ko)
25synthese.xlsx (40.29 Ko)

Bonjour Nabs, bonjour le forum,

Tu n'as pas précisé si il fallait regarder un onglet en particulier ou dans tous ?!...

Le code proposé récupère les données de tous les onglets de tous les classeurs source et renvoie leur valeurs dans l'onglet respectif du classeur destination.

Attention ! Il ne faudrait, dans le dossier de travail, que les classeurs concernés. En effet, s'il y a d'autres fichiers excel, cela risque de venir polluer la synthèse...

Le code :

Sub Macro1()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim F As String 'déclare la variable F (Fichier)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Dim NO As String 'déclare la varable NO (Nom Onglet)

Application.ScreenUpdating = False 'masque les rafraîchissement d'écran
Set CD = ThisWorkbook 'définit le classeur destination CD
CA = CD.Path & "\" 'définit le chemin d'accès CA
F = Dir(CA & "*.xlsx") 'définit le premier fichier F du dossier ayant CA comme chemin d'accès
Do While F <> "" 'exécute tant qu'il existe des fichiers F
    If F <> ThisWorkbook.Name Then 'condition : si le nom du fichier F n'est pas le nom du classeur destination (SYNTHESE.xlsm)
        Workbooks.Open (CA & F) 'ouvre le fichier F
        Set CS = ActiveWorkbook 'définit le classeur source SC
        For Each OS In CS.Sheets 'bouce sur tous les onglets du classeur source CS
            NO = OS.Name 'définit le nom de l'onglet NO
            On Error GoTo suite 'gestion des erreurs (en cas d'erreur va à l'étiquette "suite")
            CD.Worksheets(NO).Range("A1").CurrentRegion.Offset(1, 0).ClearContents 'efface d'eventuelles anciennes valeurs (génere une érreur si l'onglet NO n'existe pas)
            Set DEST = CD.Worksheets(NO).Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST
            OS.Range("A1").CurrentRegion.Offset(1, 0).Copy 'copie la plage éditée de l'onglet OS
            DEST.PasteSpecial (xlPasteValues) 'colle les valeurs dans DEST
suite: 'étiquette
        Next OS 'prochain onglet de la boucle
        CS.Close SaveChanges:=False 'ferme le classeur source (sans enregistrer)
        F = Dir 'définit le prochain fichier F ayant CA comme chemin d'accès
    End If 'fin de la condition
Loop 'boucle
End Sub

le fichier (qui prend l'extension .xlsm puisqu'il y a une macro) :

32synthese.xlsm (57.52 Ko)

Merci ThauThème.

En fait, il faut recopier les données de S.27 de tous les fichier, dans S.27 dans synthèse., S.28 dans S.28 etc..... le hic c'est que j'aurais d'autres fichiers nominatif a rajouter, il y a environ 15 opérateur qui remplieront chacun leur fichier. de plus je rajouterais également des onglets. Est ce qu'il faudrait modifier la macro?

merci d'avance

Re,

La macro va s'adapter automatiquement au nombre de fichiers et au nombre d'onglets (à condition que le nom des onglets soient strictement identiques dans les fichiers source et dans le fichier destination).

Mais il te suffisait de tester pour t'en rendre compte...

Merci encore.

Je commence tous juste les cours de débutant sur ce site, c est super intéressant.

Encore une question svp, je n ai rien à modifier sur la macro?

Merci d'avance et pardon pour mon manque de connaissances

Re,

Ce matin j'ai testé le fichier , cependant il ne prend les information que sur 1 fichier excel et pas les autres

Bonjour Nabs, bonjour le forum,

En effet, je demandais au code d'effacer les anciennes valeur pour chaque fichier ! Quel âne !...

En pièce jointe l'erreur corrigée :

36synthese-v02.xlsm (60.64 Ko)

WWWWWWWWWWAAAAAAWW

Au top du top!!!

ca marche super bien.

merci infiniment!!!!

salut a Tous,

j'aimerai aller plus loin dans l'exécution de la macro. En effet je souhaiterais supprimer les onglets que je n'ai plus besoin afin de ne pas avoir toutes les infos a reportées dans le fichier synthèse. En résumé, mes onglets correspondent a des semaine. je voudrais juste garder et récupérer les données des 3 dernières.

merci infiniment

Rechercher des sujets similaires à "synthese fichier"