Bonjour à tous,
j'ai un fichier excel qui recense les activités des collaborateurs, et un fichier différent dans lequel ils entrent leurs congés.
Je veux récupérer les valeurs entrées dans le tableau des congés dans mon fichier des activités.
Coller avec liaison ne fonctionne pas, il me dit que le fichier depuis lequel je copie n'existe pas... spoiler : si.
J'ai donc tenté de l'écrire en vba pour débugger le truc, et voilà que j'ai le même problème.
J'ai essayé en chemin relatif et absolu. En local et sur serveur, les deux en local, les deux sur serveur (le résultat souhaité est celui-ci), un en local un sur serveur...
mais rien à faire.
Le plus rageant, c'est que "coller avec liaison" a fonctionné un temps sur ce fichier, puis plus du tout. Qu'est-ce que je ne sais pas sur le fonctionnement d'Excel qui peut bloquer sa capacité à repérer mon autre fichier ? J'ai l'impression d'avoir épluché internet sans trouver de réponse, mais j'ai peut être raté un truc évident ? :/
Merci d'avance !
Sub UpdateConges()
Dim sourceWorkbook As Workbook
Dim targetWorkbook As Workbook
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim sourceRange As Range
Dim targetRange As Range
Dim lastRow As Long
Dim lastColumn As Long
Dim wbcongespath As String
'
'relative path
'servername\subservername
' 00__conges
' Conges2023.xlsm ==> J'ai bien vérifié l'extension.
' 01_Pilotage
' 02-PDC
' ThisWorkbook
'
'wbcongespath = "D:\Utilisateurs\username\Downloads\Conges2023.xlsm" ==> le chemin absolu ne fonctionne pas
wbcongespath = ThisWorkbook.Path & "\..\..\00_conges\Conges2023.xlsm" ==> le chemin relatif non plus
Debug.Print wbcongespath ==> Alors qu'à chaque fois je le vérifie et mon chemin est correct.
Set sourceWorkbook = Workbooks(wbcongespath)
Set targetWorkbook = ThisWorkbook
' Set the source and target sheets
Set sourceSheet = sourceWorkbook.Sheets("Totaux")
Set targetSheet = targetWorkbook.Sheets("Jessy")
' Set the source and target ranges
Set sourceRange = sourceSheet.Range("CB33:CM33")
Set targetRange = targetSheet.Range("K6:V6")
' Copy and link values
targetRange.Value = sourceRange.Value
' Clean up
Set sourceRange = Nothing
Set targetRange = Nothing
Set sourceSheet = Nothing
Set targetSheet = Nothing
Set sourceWorkbook = Nothing
Set targetWorkbook = Nothing
End Sub