Autres Obtenir le contenu d'un répertoire dans SharePoint Online via VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

LAFG1

XLDnaute Nouveau
Bonjour,

Nous venons de passer de SharePoint 2016 à SharePoint Online. Je rencontre un problème avec la fonction GetFolder. Le chemin de répertoire pose problème.

Voici mon code (simplifié) qui donne le message d'erreur: "Erreur d'exécution 76: Chemin d'accès introuvable"

Dim FSO As Scripting.FileSystemObject
Dim Dossier As Scripting.Folder

Set FSO = New Scripting.FileSystemObject
Set Dossier = FSO.GetFolder("https://retraitequebec.sharepoint.com/sites/MET00124/gestprojt/Suivis budgétaires")

Pourtant, lorsque j'utilise ce même chemin de répertoire avec la fonction Open, ça fonctionne.

Dim WB As Workbook
Set WB = Workbooks.Open("https://retraitequebec.sharepoint.com/sites/MET00124/gestprojt/Suivis budgétaires/FichierX")

Quelqu'un a une idée ?

Merci.
 
Dernière édition:
Solution
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 :

  1. Dans votre navigateur, ouvrez la bibliothèque de documents qui contient vos fichiers (par ex. « Suivis budgétaires »).
  2. Dans le ruban en haut, cliquez sur le bouton « Synchroniser » (ou Sync) ou Copier en tant que chemin d'accès
  3. OneDrive...
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 :

  1. Dans votre navigateur, ouvrez la bibliothèque de documents qui contient vos fichiers (par ex. « Suivis budgétaires »).
  2. Dans le ruban en haut, cliquez sur le bouton « Synchroniser » (ou Sync) ou Copier en tant que chemin d'accès
  3. OneDrive se lance et crée sur votre PC un dossier local synchronisé avec cette bibliothèque SharePoint.
  4. 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
  5. 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.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
1 K
Retour