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 methodPourriez-vous s'il vous plaît m'aider ? (pas de Power Query car cela fait disparaître les liens hypertextes des cellules)
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
Partager