Bonjour,

J'ai un dossier qui contient n fichiers excel qui eux-mêmes contiennent tous une seule feuille nommée "data" dans laquelle se trouve la plage (toujours la meme structure) à copier/coller/ajouter..

J'aimerais pouvoir copier/coller/ajouter l'ensemble de ces feuilles dans la feuille "Step_2" du fichier Excel qui contient ma macro (sans nettoyage, juste à la suite de l'existant : je nettoie après avec Power Query dans un step_3)

j'ai un runtime error 438 après la copie de la plage ...
object doesn't support this property or method
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Sub consolidation()
 
Dim Filename As String
Dim wbSrce As Workbook
Dim ws As Worksheet
Dim wsAra As Worksheet
Dim path As String
Dim cpt As Integer
Dim j As Integer
Dim i As Integer
Dim k As Integer
 
Application.ScreenUpdating = False
 
Set wsAra = ThisWorkbook.Worksheets("Step_2")
j = wsAra.range("A1000000").End(xlUp).Row
path = GetFolder
If path = "" Then
    MsgBox "dossier ou sont enregistrés les downloads", vbCritical
    Exit Sub
End If
 
i = 0
cpt = CountFilesInFolder(path, "*.xlsx")
Filename = Dir(path & "\*.xlsx")
 
    Do While Filename <> "" And i <= cpt
 
        Set wbSrce = Workbooks.Open(path & "\" & Filename)
        Set wsMaquette = wbSrce.Worksheets("data")
 
        k = Sheets("data").range("A100000").End(xlUp).Row
        Sheets("data").range("A2:AK" & k).Copy
 
        wsAra.Activate
        range("A" & j).Paste
 
        wbSrce.Close savechanges:=False
        Filename = Dir
        i = i + 1
 
    Loop
 
End Sub
 
Public Function GetFolder() As String
    Dim fldr As FileDialog
    Dim sItem As String
    Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
    With fldr
        .Title = "Select a Folder"
        .AllowMultiSelect = False
        .InitialFileName = Application.DefaultFilePath
        If .Show <> -1 Then GoTo NextCode
        sItem = .SelectedItems(1)
    End With
NextCode:
    GetFolder = sItem
    Set fldr = Nothing
End Function
 
Private Function CountFilesInFolder(strDir As String, Optional strType As String) As Integer
    Dim file As Variant, i As Integer
    If Right(strDir, 1) <> "\" Then strDir = strDir & "\"
    file = Dir(strDir & strType)
    While (file <> "")
        i = i + 1
        file = Dir
    Wend
    CountFilesInFolder = i
End Function
Pourriez-vous s'il vous plaît m'aider ? (pas de Power Query car cela fait disparaître les liens hypertextes des cellules)