Copie de données dans un classeur fermé OneDrive
Bonjour à tous,
Pour les besoins du boulot, j'aurais besoin de copier des colonnes d'un tableau Excel, enregistré en local sur mon poste, dans un classeur fermé créé via OneDrive.
Or, je peux le faire à la main, (ouvrir, copier/coller, fermer) mais je dois l'enregistrer sous un autre nom, et c'est problématique car le fichier OneDrive est ouvert sur un autre poste (pc de production)
Pensez vous que cela est possible ? Ou dois-je trouver un autre moyen ?
Si pour la compréhension vous avez besoin d'autres infos, n'hésitez pas
Merci d'avance
EDIT :
J'avais trouvé ce code sur le net (peut-être ici d'ailleurs)
Private Sub Workbook_Open()
Dim classeurSource As Workbook, classeurDestination As Workbook
'définir le classeur source
Set classeurSource = ActiveWorkbook
'définir le classeur destination
Set classeurDestination = Application.Workbooks.Open("C:\Users\*******\OneDrive - *******\Test_new_tableau_prod.xlsm", , True)
'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
classeurSource.Sheets(1).Range("A2:B5").Copy Destination:=classeurDestination.Sheets(2).Range("A2")
'sauvegarder le classeur destination sans message
Application.DisplayAlerts = False
classeurDestination.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
Il fait tout bien sauf que la fenêtre "enregistrer sous" apparaît. Y a-t-il moyen d'enregistrer sous le même nom?
Bon, je pense avoir trouvé :
Je mets le code (il n'est pas de moi, je l'ai trouvé sur un autre forum) pour ceux que cela intéresse :
Sub copy()
Dim WbkDest As Workbook
Dim WsDest As Worksheet, WsSource As Worksheet
Dim LigDest As Long
Application.ScreenUpdating = False
Set WsSource = ThisWorkbook.Sheets("Synthèse")
Set WbkDest = Workbooks.Open("C:\Users\*****\OneDrive - *****\Test_new_tableau_prod.xls")
Set WsDest = WbkDest.Sheets(1)
LigDest = WsDest.Range("A" & Rows.Count).End(xlUp).Row + 1
WsSource.Range("A1:B90").copy
WsDest.Range("A" & LigDest).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
WbkDest.Close True
Set WsDest = Nothing
Set WbkDest = Nothing
Set WsSource = Nothing
Application.ScreenUpdating = True
End Sub
Dans ce cas ci, les modifications sont bien prises en compte, sans messages. Et dans le classeur de destination, affiché sur le One Drive d'un autre PC, un F5 fait bien apparaître les données modifiées.
En espérant que cela puisse aider, je mets en résolu