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

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
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")

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