Pourquoi j'ai des colonnes vides avec Macro qui recopie plusieurs fichiers
Bonjour,
J'ai des colonnes vides avant chaque recopie du contenu des fichiers pouvez-vous m'aider à configurer ma macro pour quelle recopie chaque fichier cote à cote. SVP Merci de votre aide !!
voici ma macro et une photo du doc excel :
Sub fiche_1()
Dim wbRecap As Workbook
Dim wsRecap As Worksheet
Dim wbSource As Workbook
Dim wsSource As Worksheet
Dim DernLign As Integer
Dim vFichiers As Variant
Dim i As Integer, k As Integer
Dim ZoneSelection As Range
Dim ZoneSelection2 As Range
Dim ZoneSelection3 As Range
Dim ZoneSelection4 As Range
Dim ZoneSelection5 As Range
Dim ZoneSelection6 As Range
Dim ZoneSelection7 As Range
Dim ZoneSelection8 As Range
Dim ZoneSelection9 As Range
Dim ZoneSelection10 As Range
Dim ZoneSelection11 As Range
Dim rgRecap As Range
Set wbRecap = ThisWorkbook
Set wsRecap = wbRecap.Sheets("2.3")
' --- Ouvrir boite de dialogue pour sélectionner les fichiers à ouvrir
vFichiers = Selectionner_Fichiers("Selectionner les fichiers à compiler")
If Not IsArray(vFichiers) Then
Debug.Print "Aucun fichier sélectionné."
MsgBox "Erreur! Aucun/Mauvais fichier sélectionné."
Exit Sub
End If
On Error Resume Next
Application.ScreenUpdating = False
For k = 1 To UBound(vFichiers)
Application.StatusBar = ">> Lecture du fichier #" & k & "/" & UBound(vFichiers)
Set wbSource = Workbooks.Open(vFichiers(k))
Set wsSource = wbSource.Sheets("2.3")
DernLign = wbRecap.Sheets("2.3").Range("A65000").End(xlUp).Offset(1, 0)
rgRecap = Time
'With wsSource("Sheet2")
With wsSource
'wsRecap.Range("A1:EP100").ClearContents
Set ZoneSelection = .Range("J1")
ZoneSelection.Copy
wsRecap.Range("B3").Offset(0, 14 * k).PasteSpecial xlPasteValues
Set ZoneSelection11 = .Range("B12:J100")
ZoneSelection11.Copy Destination:=wsRecap.Range("B5:J104").Offset(0, 7 * k)
End With
wbSource.Close
Set wbSource = Nothing
Next k
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub
Function Selectionner_Fichiers(sTitre As String) As Variant
Dim sFiltre As String, bMultiSelect As Boolean
sFiltre = "Fichiers XYZ (.xls)(.xlsm), *.xls*"
bMultiSelect = True
Selectionner_Fichiers = Application.GetOpenFilename(FileFilter:=sFiltre, Title:=sTitre, MultiSelect:=bMultiSelect)
End Function
Sub sup_col_vides()
Dim c
For c = 256 To 1 Step -1
If Cells(65536, c).End(xlUp).Row = 1 Then Cells(1, c).EntireColumn.Delete
Next c
End Sub