Solution pour afficher la liste des fichiers excels d'un SharePoint dans une combobox
Bien le bonjour à tous !
On m'a demandé de régler un problème sur une macro faite par mon prédécesseur mais il était bien plus doué que moi.
Venons en au problème.. Je n'arrive pas à faire afficher la liste des fichiers qui sont sur le SharePoint du client dans ma combobox ... De ce qu'on m'a fait remonté le problème est apparu quand ce fameux client à changer de Sharepoint.
Comme je suis une andouille j'ai modifié le code et je n'ai donc plus l'original ....
Je vous montre donc celui que j'ai créé (avec l'aide de ChatGpt)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| Private Sub Cbx_File_DropButtonClick()
Dim client As Object ' Déclarer un objet pour la connexion SharePoint
Dim ctx As Object ' Déclarer un objet pour le contexte SharePoint
Dim Web As Object ' Déclarer un objet pour le site SharePoint
Dim liste As Object ' Déclarer un objet pour la liste SharePoint
Dim listItem As Object ' Déclarer un objet pour les éléments de la liste
' Remplacer "VotreLienSharePoint" par le lien SharePoint approprié
Dim votreLienSharePoint As String
votreLienSharePoint = "XXXX"
Set client = CreateObject("SharePoint.ClientContext")
client.SiteURL = votreLienSharePoint
' Se connecter à SharePoint
On Error Resume Next
Set ctx = client.get_site()
On Error GoTo 0
If ctx Is Nothing Then
MsgBox "Impossible de se connecter à SharePoint. Vérifiez le lien SharePoint.", vbExclamation
Exit Sub
End If
Set Web = ctx.get_web()
' Remplacer "VotreNomDeListe" par le nom de la liste SharePoint que vous souhaitez parcourir
Set liste = Web.Lists.GetByTitle("VotreNomDeListe")
' Charger les éléments de la liste SharePoint
ctx.Load liste
ctx.ExecuteQuery
' Parcourir les éléments de la liste et ajouter les fichiers au ComboBox
For Each listItem In liste.Items
' Remplacer "VotreNomDeChamp" par le nom du champ qui contient les noms des fichiers
Me.Cbx_File.AddItem listItem("VotreNomDeChamp")
Next listItem
Set client = Nothing
Set ctx = Nothing
Set Web = Nothing
Set liste = Nothing
Set listItem = Nothing
End Sub |
Je n'ai pas beaucoup d'idée et même sur internet en cherchant je ne trouve rien d'inspirant.
Respectueusement.
RDX