Re : Coipier et concatener 23 feuilles dans un autre fichier
Bonjour voici du code faisant le même travail que le fichier précédent, mais en utilisant un tableau
'import de donnés d'un classeur vers un autre classeur
Sub GetDataFromWorkbook()
Dim Wb As Workbook, Yl&, Zc&, Tablo, Cv
Dim Chemin$, Nomf As String, Fich
Dim Nbl&, Nbc&
'RÉCUPÉRATION DE X LIGNES ET Y Colonnes, Nbres à définir
Nbl = 30: Nbc = 5
ReDim Tablo(1 To Nbl, 1 To Nbc)
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
'raz du traitement précédent
Feuil1.Cells.ClearContents
'identification du fichier à ouvrir
Chemin = ActiveWorkbook.Path & "\"
Fich = "FLA.xls"
Nomf = Chemin & Fich
Set Wb = Workbooks.Open(Nomf, True, True)
' Ouverture du fichier source en lecture seule
'et charge les datas de la feuille source dans le tablo
Yl = Range("A65000").End(xlUp).Row
Tablo = ActiveSheet.Cells(1, 1).Resize(Yl, Nbc).Value
' For Yl = 1 To Yl
' For Zc = 1 To 5
' Set Cv = Cells(Yl, Zc)
' Tablo(Yl, Zc) = Cv.Value
' Next
' Next
Wb.Close False ' Fermeture du fichier source sans sauvegarde
'Renvoi des datas vers la destination
With ThisWorkbook.Worksheets(1)
' For Yl = 1 To 30
' For Zc = 1 To 5
' Cells(Yl + 1, Zc) = Tablo(Yl, Zc)
' Next Zc
' Next Yl
'ou
Zc = Nbc
ActiveSheet.Cells(1, 1).Resize(Yl, Zc) = Tablo
'suppression des #N/A
Set Cv = Range("A1", Range("K65000"))
Cv.Replace What:="#N/A", _
Replacement:=vbNullString, LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False
End With
Set Cv = Nothing: Set Wb = Nothing
Erase tablo
Application.Calculation = xlCalculationAutomatic
End Sub
Bon courage
Cordialement
FLYONETS