Bonjour,
Je n'arrive pas à trouver de réponse sur le net , je me permet donc de poster ici.
J'aimerais savoir si il est plus efficace de faire une boucle pour ouvrir plusieurs classeurs source pour copier leur contenu dans un autre classeur puis de fermer les classeurs source ensuite, ou si l'ébauche de la méthode ci-dessous demande moins de ressource au PC :
Code pour copier le Range B3:D10 du classeur Classeur1.xlsx fermé dans un classeur Classeur2.xlsm ouvert :
Sub ImporterDonneesSansOuvrir()
Dim Chemin As String, Fichier As String
Chemin = "D:\Desktop\"
Fichier = "Classeur1.xlsx"
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Feuil1'!$B$3:$D$10"
With Sheets("Feuil1")
.[B3:D10] = "=plage"
.[B3:D10].Copy
Workbooks("Classeur2.xlsm").Sheets("Feuil1").Range("F3").PasteSpecial xlPasteValues
.[B3:D10].Clear
End With
Sheets.Add(After:=Sheets("Feuil1")).Name = "FeuilDest"
Workbooks("Classeur2.xlsm").Sheets("Feuil1").Range("F3:H10").Cut Workbooks("Classeur2.xlsm").Sheets("FeuilDest").Range("F3:H10")
Application.CutCopyMode = False
Application.DisplayAlerts = False
Sheets("Feuil1").Delete
Application.DisplayAlerts = True
End Sub
A terme mon projet vise à boucler sur 3 à 40 fichiers (format identique, données différentes) pour récupérer leurs contenus sur 1 seul classeur.
Si vous avez des pistes, n'hésitez pas
Merci d'avance