VBA: Copier fichier SharePoint 5


Le développement du Cloud et du travail collectif obligent, l'utilisateur d'Excel (et de VBA) aura de plus en plus besoin de faire appel à des fichiers stockés sur SharePoint (la plateforme pour gérer le contenu distant de Microsoft). Si vous avez besoin de télécharger un fichier à partir de SharePoint via VBA, c'est tout à fait possible. Vous pouvez utiliser le code VBA qui suit.

La fonction VBA utilisée dans ce code (URLDownloadToFile) requiert  deux paramètres: le URL du fichier sur SharePoint et le chemin de destination du fichier (son nom inclus). Ces deux paramètres sont de type String.

Pour votre information, ce code VBA n'utilise pas des fonctions spécifiques à Excel et peut donc être utilisé tel quel dans les autres logiciels de la suite MS Office (Access,  Word, Outlook,…).

 

Code VBA pour copier un fichier de SharePoint

Le code VBA  qui suit se compose de deux parties:

  1. la fonction URLDownloadToFile qui provient de la librairie système "urlmon" (mais cela ne doit pas particulièrement vous préoccuper)
  2. la procédure TelechargerFichierDeSharepoint qui vous montre comment utiliser la fonction URLDownloadToFile
Option Explicit

Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
                                           "URLDownloadToFileA" ( _
                                           ByVal pCaller As Long, _
                                           ByVal szURL As String, _
                                           ByVal szFileName As String, _
                                           ByVal dwReserved As Long, _
                                           ByVal lpfnCB As Long) As Long


Sub TelechargerFichierDeSharepoint()

    Dim CheminDestination As String
    Dim ValeurRetour As Long
    
    'l'adresse url du fichier sur Sharepoint
    Const URLSharePoint As String = "http://teams/Departement/Shared Documents/Reports/Dossier_test/fichier_test.pdf"
    
    'chemin et le nom de la destination
    CheminDestination = "C:\Mes Documents\Dossier Test\fichier_test.pdf"
    
    'lance le téléchargement
    ValeurRetour = URLDownloadToFile(0, URLSharePoint, CheminDestination, 0, 0)
    
End Sub

Attention: Le code de la fonction URLDownloadToFile ne doit pas être modifié. Vos modifications doivent se faire au niveau de la procédure TelechargerFichierDeSharepoint .

Remarque: Si vous utilisez SharePoint 2013 / 2016 / 2019, il faut adapter les liens (URL) vers les fichiers d'une manière spécifique. Pour en savoir plus, visitez la page "VBA et SharePoint 2013".

Sachez également que le travail avec des fichiers distants a fait l'objet de nombreuses nouveautés dans Excel 2016.

 

Pourrait également vous intéresser en VBA

25 0

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.

5 commentaires sur “VBA: Copier fichier SharePoint

  • DELATRE

    Bonjour, le code fonctionne.
    Mais il n'est pas possible d'ouvrir le fichier télécharger : Message : Format incorrect.
    C'est le rouage qui me manque pour migrer l'ensemble de mes fichiers sous teams.
    Avez-vous une explication ou une astuce ?
    Merci

    • excel-malin.com Auteur de l’article

      Bonjour,
      je crois que le problème pourrait venir de votre version d'Office.
      Lorsqu'un fichier est "uploadé" sur le SharePoint (ou Teams), il est converti pour pouvoir être consulté online – donc probablement en Office 365.
      Or, certaines des fonctionnalités de Office 365 ne sont pas disponibles dans les versions précédentes d'Office.
      Donc si vous avez par exemple Excel 2013 en local, il est possible qu'il ne sache pas ouvrir le fichier Excel venant du SharePoint et qui a le format du fichier Excel 365…

      Donc si vous n'avez pas Office 365, essayez peut-être de demander à quelqu'un qui l'a de lancer ce code et d'essayer d'ouvrir la copie locale avec son Excel 365. S'il sait l'ouvrir, cela confirmerait ma supposition.

      Cordialement, Martin

      • Anonyme

        Bonjour,

        Merci pour la réponse.
        J'ai contourné le soucis.

        Du coup maintenant je dois publier et non télécharger mes fichiers sous teams.
        Je n'ai trouvé aucune commande sur le net.

        Auriez-vous une piste ?

        Merci

        Bonne journée

      • Fred

        Bonjour

        J'ai le même soucis mon image (en .jpg) se télécharge bien de mon SharePoint vers mon bureau mais j'ai aussi le message " Format incorrect".

        Pourtant mon entreprise a bien MS Office 365 Business.

        Comment résoudre ce problème ?

        Merci d'avance

      • Fred

        Bonjour

        J'ai le même soucis mon image (en .jpg) se télécharge bien de mon SharePoint vers mon bureau mais j'ai aussi le message " Format incorrect".

        Pourtant mon entreprise a bien MS Office 365 Business.

        Comment résoudre ce problème ?

        Merci d'avance