Modification d'une macro en rapport avec Workbooks.Open

Bonjour à tous,

Besoin d'un petit coup de pouce. Je cherche à modifier la macro ci-après de façon à ce que les Workbooks.Open fassent référence à une cellule de mon fichier. Donc remplacer "D:\FACTURIER\RECAPITULATIF.xlsm" par un "A1" par exemple. Mes recherches sur Net n'ont pas été fructifiant. D'avance merci

Sub Transfert1()

Workbooks.Open Filename:="D:\FACTURIER\RECAPITULATIF.xlsm", UpdateLinks:=0

'Variables
Dim Last_Row1 As Long, Last_Row2 As Long
Dim WB1 As Workbook, WB2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet

Set WB1 = ThisWorkbook
Set ws1 = WB1.Sheets("PARTICULIER")
Set WB2 = Workbooks.Open("D:\FACTURIER\RECAPITULATIF.xlsm")
Set ws2 = WB2.Sheets("FACTURE-EN-COURS")

Last_Row1 = ws1.Range("A" & Rows.Count).End(xlUp).Row
Last_Row2 = ws2.Range("A" & Rows.Count).End(xlUp).Row + 1

ws1.Range("A57:H57").Copy
ws2.Range("A" & Last_Row2).PasteSpecial Paste:=xlPasteValues
End Sub

Bonjour,
Essaie ainsi :

Sub Transfert1()
Dim WB1 As Workbook, WB2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Dim LastRow As Long
Dim sFile As String

    Set WB1 = ThisWorkbook
    Set ws1 = WB1.Worksheets("PARTICULIER")
    sFile = ws1.Range("A1").Value

    Set WB2 = Workbooks.Open(sFile, UpdateLinks:=0)
    Set ws2 = WB2.Worksheets("FACTURE-EN-COURS")
    LastRow = ws2.Range("A" & Rows.Count).End(xlUp).Row + 1

    ws1.Range("A57:H57").Copy
    ws2.Range("A" & LastRow).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = 0

    'WB2.Close savechanges:=False

End Sub

Bonjour à tous et à Jean-Eric

Merci pour ton partage, je teste la macro en rentrant et je te tiens au courant.

Cordialement

Bonjour à tous,

Un grand merci à toi Jean Eric pour avoir passé du temps sur mon problème qui n'a eu à subir aucune modification de ma part. Cela fonctionne parfaitement bien.

Bon Week end à tous.

Rechercher des sujets similaires à "modification macro rapport workbooks open"