Voici la solution:
Avec SharePoint 2016 « on-premise », les fichiers étaient souvent accessibles via un chemin réseau classique (par ex.
\\serveur\Dossier\…), que GetFolder pouvait utiliser directement.
Avec
SharePoint Online, l’adresse
https://… est un lien HTTP, et pour Windows/VBA ce n’est plus un « dossier » au sens du système de fichiers.
Quand je parle de
« synchroniser la bibliothèque avec OneDrive », l’idée est la suivante :
- Dans votre navigateur, ouvrez la bibliothèque de documents qui contient vos fichiers (par ex. « Suivis budgétaires »).
- Dans le ruban en haut, cliquez sur le bouton « Synchroniser » (ou Sync) ou Copier en tant que chemin d'accès
- OneDrive se lance et crée sur votre PC un dossier local synchronisé avec cette bibliothèque SharePoint.
- Dans l’Explorateur Windows, vous verrez alors apparaître un nouveau dossier du type :
C:\Users\<votre_nom>\Nom de l’organisation\…\Suivis budgétaires
- C’est ce chemin local qu’il faut utiliser dans votre code VBA, par exemple :
Dim FSO As Scripting.FileSystemObject
Dim Dossier As Scripting.Folder
Set FSO = New Scripting.FileSystemObject
Set Dossier = FSO.GetFolder("C:\Users\<votre_nom>\Nom de l’organisation\Suivis budgétaires")
Le plus simple est de repérer le dossier dans l’Explorateur Windows, de faire clic droit →
Copier comme chemin, puis de coller ce chemin dans la ligne GetFolder.
En résumé :
- l’URL SharePoint (https://…) ne peut pas être utilisée directement avec GetFolder,
- il faut d’abord rendre la bibliothèque visible comme dossier local via OneDrive, puis utiliser ce chemin local dans VBA.