Remplir un tableau à partir de plusieurs fichiers

Bonjour à tous,

Je suis débutant en VBA et je bloque sur un projet. J'ai un tableau à remplir à partir de plusieurs autre tableau dans d'autres fichiers différents.

L'idée est que la personne A remplisse un fichier des heures réalisées ==> Fichier A (nommé avec le matricule de la personne U111111 par exemple).

Je lance une macro à partir d'un fichier TRACA et ce même fichier se remplisse avec les données du Fichier A.

J'ai réussi a consolider les données dans une une feuille (Calcul) du fichier TRACA mais je n'arrive pas à renseigner les données pour chaque personne et pour chaque mois. Sachant que la personne A doit remplir ce fichier chaque mois et il faut que le tableau se remplisse au fur et à mesure où je lance la macro (chaque mois).

Ci joint ce que j'ai réussi à faire. (Je dépose le fichier A des employés dans un dossier, et depuis mon fichier TRARA je réouvre l'ensemble des fichier du dossier et je copie les données dans ma feuil Calcul du fichier TRACA)

L'objectif et de remplir la feuil Agent de Maitrise du fichier TRACA.

Merci pour votre aide.

36u111111.xlsx (16.53 Ko)

J'ai réussi a consolider les données dans une une feuille (Calcul) du fichier TRACA mais je n'arrive pas à renseigner les données pour chaque personne et pour chaque mois. Sachant que la personne A doit remplir ce fichier chaque mois et il faut que le tableau se remplisse au fur et à mesure où je lance la macro (chaque mois).

Si tu as réussi à faire cela, c'est bien ... mais je conseille quand même de structurer différemment le fichier TRACA :

  • mets tout en colonne : nom, année/semaine, nombre d'heures
  • ajoute un identifiant qui est "nom|année-semaine" par exemple
  • lors de la compil vérifie que l'identifiant nom|année-semaine n'a pas déjà été renseigné
  • termine ta synthèse par un TCD

Au passage, ton découpage de mois en semaines est assez curieux !

Bonjour et bienvenue sur le forum

Bonjour à tous

Un essai à tester.

Tous les fichiers doivent être dans le même dossier que celui de ''SUIVI TRACA''.

Cela te convient-il ?

Bye !

Merci beaucoup,

ça fonctionne !

Bonjour,

Pour nettement simplifier ta compilation, et préparer d'éventuelles autres utilisations, voici une autre forme de compilation : je crée une base de données (à compléter, je n'ai pas mis le mois car je ne comprends pas la relation entre semaine et mois) et je fais un TCD

(merci à gmb pour avoir donné le jeu de données)

Option Explicit

    Dim wbk1 As Workbook, wbk2 As Workbook
    Dim chemin$, monFichier$
    Dim i&, ln&

Sub ouvrir_fichiers()

    Set wbk1 = ThisWorkbook
    wbk1.Sheets("Compilation").Range("A1").CurrentRegion.Offset(1, 0).ClearContents

    i = 2
    chemin = ThisWorkbook.Path & "\"
    monFichier = Dir(chemin & "*.xlsx")

    Do While monFichier <> ""
        Set wbk2 = Workbooks.Open(chemin & monFichier)
        With wbk1.Sheets("Compilation")
            For ln = 34 To 38
                .Cells(i, 1) = Range("C3")
                .Cells(i, 2) = Range("D3")
                .Cells(i, 3) = Cells(ln, "J")
                .Cells(i, 4) = Cells(ln, "K")
                i = i + 1
            Next ln
        End With
        wbk2.Close False
        monFichier = Dir
    Loop

    ' si on ne veut pas effacer au début de la procédure et pour éviter les doublons
    ActiveSheet.Range("$A$1:$D$" & i).RemoveDuplicates Columns:=Array(1, 2, 3, 4), Header:=xlNo

    Sheets("TCD").PivotTables("Tableau croisé dynamique1").PivotCache.Refresh

End Sub
25compil.zip (62.57 Ko)
Rechercher des sujets similaires à "remplir tableau partir fichiers"