Bonjour le fil,
Comme j'avais préparé également quelque chose (idem Frangy) je mets quand même le code
Je passe par des variables pour simplement plus de compréhension du code
Sub Importation_Fichiers()
Dim Inc As Integer, sPath As String, TabFic() As String
Dim DLig As Long, Total As Double
Dim WbkS As Workbook, ShtS As Worksheet
' Chemin d'accès des fichiers
sPath = "C:\TRESO\"
' Définir le Tableau des fichiers à ouvrir
TabFic = Split("COMD,CAUT,ICRE,ARCT,IDEB", ",")
' Pour chaque fichier du tableau
For Inc = 0 To UBound(TabFic)
' En cas d'erreur
On Error GoTo Suite
' Définit l'objet classeur du fichier à Ouvrir le fichier
Set WbkS = Workbooks.Open(Filename:=sPath & TabFic(Inc) & ".xlsx")
' Activer le classeur avec la macro
ThisWorkbook.Activate
' Définir la feuille Source
Set ShtS = WbkS.Sheets(1)
' Calculer la dernière ligne de la feuille
DLig = ShtS.Range("A" & Rows.Count).End(xlUp).Row
' Faire le total de la colonne [Montant Trn]
Total = Application.WorksheetFunction.Sum(ShtS.Range("I2:I" & DLig))
' Copie du fichier dans prépa frais
ShtS.Range("A2:N" & DLig).Copy _
Destination:=ThisWorkbook.Sheets("BASE").Range("A" & Rows.Count).End(xlUp)(2) '.Offset(1, 0)
' Inscrire le total et le nom du classeur
ThisWorkbook.Sheets("BASE").Range("L" & 1 + Inc).Value = Total
ThisWorkbook.Sheets("BASE").Range("M" & 1 + Inc).Value = WbkS.Name
' Fermer le classeur ouvert
WbkS.Close SaveChanges:=False
Suite:
Next Inc
' A la fin de la procédure
' Effacer les variables objet
Set ShtS = Nothing: Set WbkS = Nothing
' Désactiver le mode copier/coller
Application.CutCopyMode = False
' Petit pessage
MsgBox "Traitement effectué"
Range("L1").Select
End Sub
voili