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
| Option Explicit
Sub importDonnees()
Dim principal As ThisWorkbook
Dim repertoire As String, fichier As String
Application.ScreenUpdating = False
Set principal = ThisWorkbook
repertoire = ThisWorkbook.Path
ChDir repertoire
fichier = Dir("*.xlsm")
Do While fichier <> ""
If fichier <> principal.Name Then
Workbooks.Open fichier
On Error GoTo suivant
With Sheets("FEM")
On Error GoTo 0
On Error Resume Next
.Range("B8").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
.Range("D8").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
.Range("B11").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
.Range("B13").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
.Range("B15").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
.Range("C15").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
.Range("G15").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
.Range("C19").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
.Range("A28").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
.Range("A42").Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
End With
ActiveWorkbook.Close False
End If
suivant:
If Err.Number = 9 Then MsgBox "Pas de feuille ""FEM"" dans le fichier " & fichier, vbExclamation: ActiveWorkbook.Close False
fichier = Dir
Loop
End Sub |
Partager