Bonjour, je reviens sur ce fil pour une question sur l'évolution de cette macro. Lorsqu'elle est exécutée, mes 17 fichiers source sont ouverts un par un pour récupérer les données, cela prend pas mal de ressources sur le PC.
Depuis quelques jours Excel s'arrête subitement avant la fin d’exécution de la macro car je pense qu'il y a un cache qui doit saturer et faire planter Excel. Il y a environ 22 000 lignes à traiter, peut-être que c'est trop. Auriez-vous une solution pour éviter cela ?
Je remet le code de la macro ci-dessous :
Option Explicit
Dim wbk1 As Workbook, wbk2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Dim rng1 As Range, rng2 As Range
Dim chemin$, monFichier$, onglet$
Sub maj()
Sheets("Synthèse").Select
Range("A1").Select
chemin = ThisWorkbook.Path & "\"
Set wbk1 = ThisWorkbook
Set ws1 = ActiveSheet
ws1.Cells(1).CurrentRegion.Offset(1, 0).ClearContents
monFichier = Dir(chemin & "Suivi_Reception-CR5_N076*.xlsx")
Do While monFichier <> ""
Set wbk2 = Workbooks.Open(chemin & monFichier)
For Each ws2 In wbk2.Worksheets
If ws2.AutoFilterMode Then ws2.AutoFilter.ShowAllData
Set rng2 = ws2.Cells(1).CurrentRegion
rng2.Offset(1).Resize(rng2.Rows.Count - 1, rng2.Columns.Count).Copy
Set rng1 = ws1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
rng1.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Next
Application.CutCopyMode = False
wbk2.Close False
monFichier = Dir
Loop
ws1.Cells(2, 1).Select
End Sub