Bonjour à toute la communauté,
Je sais que le sujet à déjà était traité à plusieurs reprises mais vu que les dates sont assez anciennes, j'ai peur que personne ne visite le ou les forum qui le traitent.
Je ne demande pas qu'on me construise une macro, mais simplement qu'on me fournisse une petite correction pour que la mienne fonctionne.
Je vous explique : Il s'agit d'une macro plutôt simple dans l'esprit ; dans un fichier déterminé (chemin déterminé par la macro) il existe plusieurs classeur excel au format de nom identique et dont la constitution (contenu) est également identique. Dans un autre fichier existe un classeur excel qui consolidera tous les autres.
Le but étant d'aller chercher les données d'un tableau d'une feuille contenue dans chaque classeur excel (nom de feuille est identique, format du tableau identique) et de compiler ces données à la suite dans un tableau du classeur consolidation (tableau toujours au même format).
voilà mon code
J'ai pour ce faire essayé d'utiliser des fonctions déjà présente dans mes classeurs et tenté d'obtenir le bon algorithme. Malheureusement, je pense que ma formule coince à partir de thisworkbook.worksheets("base")
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 Sub Compilation() Dim Fichier As String Dim Chemin As String Dim ClasseurSource As Workbook Dim valeur1 As String Dim MonTableau As Variant Application.DisplayAlerts = False 'Evite les messages d'Excel Application.EnableEvents = False 'Evite l'exécution éventuelle de macros liées aux fichiers ouverts valeur1 = Sheets("Base").Range("D2").Value Chemin = "J:\Rom France\France\WPP\" & valeur1 'Chemin du répertoire contenant les fichiers Fichier = Dir(Chemin & "*.xls*") Do While Fichier <> "" Set ClasseurSource = Workbooks.Open(Chemin & Fichier) MonTableau = ClasseurSource.Worksheets("Masterfile-valeurs").Range("Tableau5") ThisWorkbook.Worksheets("Base").Range ("Conso") derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row Range("derlig+1") = MonTableau ClasseurSource.Close Fichier = Dir Loop Application.EnableEvents = True Application.DisplayAlerts = True End Sub
Si une âme charitable pouvait m'éclairer ma lanterne pour continuer d'avancer, je lui en serai reconnaissant ^^.
Par avance merci pour votre contribution et votre disponibilité à tous et à toutes
Partager