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
|
Function IsFileOpen(ByVal strFic As String) As Boolean
Dim fic As Integer
On Error Resume Next
fic = FreeFile()
Open strFic For Input Access Read Lock Read Write As fic
If Err.Number = 0 Then
IsFileOpen = False
Close fic
Else
IsFileOpen = True
End If
End Function
Sub ImportWorksheet()
' This macro will import a file into this workbook
' Définition des variables, chemin, et fichier cible
Dim PathName As String, Filename As String, TabName As String, ControlFile As String
PathName = "L:\...\....\"
Filename = "UUU.xls"
TabName = "target"
ControlFile = ActiveWorkbook.Name
' Cas où le fichier est déjà ouvert, ou utilisé, gère l'erreur et continu
If (IsFileOpen(PathName & Filename) = True) Then GoTo fichierOuvert
' Dans le cas où le fichier n'est pas ouvert, transfert de la zone de worksheet désirée
Workbooks.Open Filename:=PathName & Filename
' Utilisation et remplissage du PRESSE-PAPIER
Workbooks(Filename).Worksheets(TabName).Columns("A:M").Copy
Workbooks(ControlFile).Worksheets(2).Columns("A:M").PasteSpecial (xlPasteAll)
' On vide le P-P
Application.CutCopyMode = False
Workbooks(Filename).Close SaveChanges:=False
fichierOuvert:
End Sub |
Partager