Bonjour,
Je souhaite copier le contenu d'une feuille d'un classeur fermé quelconque (son nom est donc variable) et le coller dans le classeur ouvert nommé Template2 (celui qui contient la macro).
J'ai utilisé un code utilisé à cette effet dans un précédent sujet mais il ne fonctionne que si le chemin et le nom du classeur source est déjà connu. Or pour répondre à mon besoin, il faudrait qu'une fenêtre s'ouvre et demande de choisir le fichier source.
J'ai essayé le code ci dessous mais la ligne : Set CS = Workbooks(nom & ".xlsx") pose problème
Sub recupererdonnees()
Dim CS As Workbook
Dim CD As Workbook
Dim OS As Worksheet
Dim OD As Worksheet
Dim DLS As Long
Dim DLD As Long
Dim nom As String
nom = GetOpenFilename("Nom fichier,*.xlsx")
Set CS = Workbooks(nom & ".xlsx")
Set CD = Workbooks("Template2.xlsm")
Set OS = CS.Worksheets("Feuil1")
Set OD = CD.Worksheets("TEST")
DLS = OS.Cells(Application.Rows.Count, "A").End(xlUp).Row
DLD = OD.Cells(Application.Rows.Count, "A").End(xlUp).Row
OD.Range("A1:A" & DLD).ClearContents
OS.Range("A1:A" & DLS).Copy OD.Range("A1")
End Sub
L'erreur est la suivante :
"Erreur d'exécution 9
L'indice n’appartient pas à la sélection"
Si quelqu'un sait comment résoudre le problème, je suis preneur.