XL 2021 Problème de macro sur Sharepoint

  • Initiateur de la discussion Initiateur de la discussion fenec
  • Date de début Date de début

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 !

fenec

XLDnaute Impliqué
Bonsoir le forum,
Je rencontre un nouveau soucis avec ma macro qui fonctionne très bien sur un disque local comme sur un disque réseau.

Le souci est que je n'arrive pas la modifier pour qu'elle fonctionne sur sharepoint.
Jai bien essayé avec l'enregistreur de macro pour avoir le chemin mais je ne parviens pas à lui dire de l'enregistrer avec le nom de fichier désiré.

D'avance merci de votre aide si toute fois cela est possible sur sharepoint,

Cordialement,
Fenec
 

Pièces jointes

Bonsoir le fil

@wDog66
Pourtant, je fais (ou plutôt... je faisais, désormais, j'utilise plus PQ que le VBA sur Sharepoint) tous les jours (avec Sharepoint 2013)
La seule contrainte, c'est de renseigner le path(*) en dur dans le code (ou de mapper un lecteur réseau)

(*) un path du type: \\mon.site.sharepoint\folder\subfolder\fichier
 
Salut Staple1600
Bonsoir le fil

@wDog66
Pourtant, je fais (ou plutôt... je faisais, désormais, j'utilise plus PQ que le VBA sur Sharepoint) tous les jours (avec Sharepoint 2013)
La seule contrainte, c'est de renseigner le path(*) en dur dans le code (ou de mapper un lecteur réseau)

(*) un path du type: \\mon.site.sharepoint\folder\subfolder\fichier
Qu'est-ce que PQ à a voir avec VBA 🤔 absolument rien
Je parle de l'utilisation de VBA dans un SharePoint, pas d'autre chose !
 
Dernière édition:
Re,

@wDog66
Tu as mal lu mon message 😉
Donc je précise, j'utilisais des classeurs avec macro sur Sharepoint (2013 comme précisé)
En faisant ce que j'explique: le path \\ ou le mappage d'un lecteur réseau.
Les macros fonctionnaient sans problème

J'ai simplement précisé que disons depuis un an ou deux, j'utilise plutôt PQ avec Sharepoint (simplement par commodité et par les fonctionnalité offerte par PQ +Sharepoint) => voir ce fil par exemple

PS1: Quand je dis Sharepoint 2013, c'est qui est installé sur mon PC de boulot ( W10 + Excel 2019)

PS2: Par exemple, je faisais un publipostage Word+Excel piloté par VBA depuis Sharepoint
(ou plutôt depuis des fichiers stockés sur Sharepoint)
Le code VBA était dans le fichier Word, je faisais juste Extraire puis ensuite le code VBA opérait normalement.
(Je vais essayer de retrouver le mode opératoire que j'avais diffusé à l'époque aux collègues qui utilisaient ces fichiers)
 
Dernière édition:
Re

@wDog66
Si mais je ne suis pas sur qu'on parle du même Sharepoint
Je ne parle pas de la dernière version (sous 365)

Tout ce que je sais c'est qu'on a accès à des fichiers stockés sur Sharepoint
On y accède par Edge
(et quand je farfouille un peu, je tombe sur des pages Astuces pour Sharepoint 2013, d'où ma déduction de la version utilisée)

==> Regarde cette copie d'écran dans le fil que je citais précédemment

Donc sur ce Sharepoint, pour modifier un fichier, il faut faire Extraire -> faire les modifs puis Archiver

Dans mon Sharepoint, j'ai des *.xslm, des *.xslb avec du code VBA.
Code VBA fonctionnel.

La seule chose comme je le disais, c'est d'utiliser des chemins UNC.

Plusieurs de mes collègues ont utilisé sans problème, mon fichier de publipostage (avec VBA), depuis Sharepoint.

C'est justement pour ne pas diffuser N document (avec macros) à X collègues, que j'ai stocké sur Sharepoint les fichiers (avec VBA) qui pouvaient leur être utile.
Ainsi, depuis leur session Windows, ils vont sur la ressource Sharepoint et utilisent mes fichiers avec macros
(évidemment pas en même temps, comme sur Teams qui lui pour le coup ne parle pas le VBA)

Je ferai le test demain au boulot (et des copies d'écran)
 
Re

@wDog66
Déjà en 2021, je macrotais sur Sharepoint 2013 😉
 
Re

@wDog66
VBAsurSharepoint.PNG

A l'époque en 2017, nous utilisions Office 2010
En faisant mes test aujourd'hui, je me suis aperçu qu'il y avait plus simple pour le chemin UNC d'un document stocké sur Sharepoint
Code:
Sub str_SP_Path()
Debug.Print ThisWorkbook.FullNameURLEncoded
End Sub
Dernière copie d'écran pour illustrer que ce fonctionnait en 2017 à mon taf, fonctionne toujours en 2025.
SharePoint_VBA.png

Depuis Sharepoint -> Bibliothèque -> Ouvrir avec l'Explorateur
Drag'N Drop du fichier avec VBA depuis un répertoire local
Adaptation du code au niveau du Path
Enregistrer -> Fermer -> Ouvrir
Je réponds Oui a l'avertissement de sécurité
Ici le code VBA de test stocké dans Worbook_Open() s'éxécute
J'archive
Ensuite que j'ouvre en mode web ou en mode Explorateur, le code VBA s'éxécute
 
Je retiens juste une chose
1743112968820.png


Il est dommage d'être têtu et borné à ce point 🙄
Mais je te laisse dans tes vieux souvenir...
continue à vivre sur le passé si cela te chante... pendant ce temps là, j'avance 😂🤣

Perso, je clique sur
1743113001847.png
 
Re

@wDog66
Je ne comprends pas ta réaction
J'ai pris du temps au boulot
1) pour retrouver les archives​
2) pour faire de nouveaux de tests et des copies d'écran​
En espérant bien faire.​
Tant pis​
[PS]
continue à vivre sur le passé si cela te chante..
Je ne suis pas maitre du matériel, ni des logiciels mis à disposition par mon employeur.
Master W10 "bridé" / Office 2019 / utilisation "fortement conseillé" de Sharepoint 2013 pour stocker les documents que l'on doit partager
entre collègues
Interdiction de brancher des clés sur les ports USB, VPN obligatoire pour accéder aux logiciels métiers
etc...

@fenec
je vais tester ton classeur demain au travail et je te redirai ce qu'il en est.
 
Dernière édition:
Bonjour le fil, le forum

Debug.Print ThisWorkbook.FullNameURLEncoded
alors là, merci !
je confirme que, pour moi, VBA Excel 365 fonctionne bien sur des fichiers stockés sur sharepoint, le gros problème est une gestion très galère des liens, des ouvertures de fichiers par VBA et des droits d'accès, mais je n'ai pas rencontré de problème sur des fichiers Xlsm entièrement autonomes (sans liens et sans accès à d'autres fichiers) lancés dans l'application excel locale à partir d'un serveur sharepoint accédé par teams
J'évite d'ailleurs systématiquement les sharepoints en développement s'il y a une possibilité d'utiliser un serveur physique.
Cette instruction que je viens de découvrir va bien me servir pour simplifier mes futurs codes, merci Staple pour ce partage.

Cordialement,
Bernard_XLD
 
Bonsoir le fil, @Bernard_XLD

@Bernard_XLD
Content d'avoir pu t'être utile 😉

@fenec
Comme promis, j'ai testé avec le code VBA présent le classeur du message#1
Voir compte-rendu dans le PDF.

Le préfixe de ton message indique que tu utilises Excel 2021 (moi c'est Excel 2019)

Quand tu parles de Sharepoint, c'est Sharepoint 365 ou une autre version ?
 

Pièces jointes

Bonjour le forum, Staple1600,

En premier, je souhaite te remercier pour ton aide.

Dans ton fichier test tu m'indiques que les deux syntaxes fonctionnent OK ,mais hélas pas chez moi le code bloque toujours sur: voir si dessous

VB:
 classeurArchivage.SaveAs Filename:=cheminDossier & nomFichier, FileFormat:=xlOpenXMLWorkbook

soit parce que je m'y prends mal pour renseigner le chemin ou alors la version différente d'excel avec la tienne!!!

Quand tu me demandes la version du sharepoint alors je n'en n'ai aucune idée et ne sais pas ou voir la version

Cordialement,
Fenec
 
Bonsoir le fil, @fenec

@fenec
Quand j'ai du mal avec un code, je passe souvent par l'emploi d'une MsgBox ou de Debug.Print
Ici dans ton code, tu peux faire ce test
1) tu lances cette macro avec un fichier en local
Code:
Sub test_fenec()
Dim chemin_dossier_fichier, chemindossier$
chemin_dossier_fichier = ThisWorkbook.FullNameURLEncoded
chemindossier = Replace(chemin_dossier_fichier, Dir(chemin_dossier_fichier, vbDirectory), "")
Debug.Print chemindossier
End Sub
Puis tu copies/colles le résultat obtenu dans la barre d'adresse de l'explorateur Windows
Normalement, tu arrives là où est ton fichier Excel
Tu pointes bien sur un chemin valide ?

2) tu lances cette macro avec un fichier Excel stocké sur One Drive
Code:
Sub test_fenec_OD()
Dim chemindossier$
chemindossier = ThisWorkbook.FullNameURLEncoded
Debug.Print chemindossier
End Sub
Tu obtiens alors une URL de ce type
https://d.docs.live.net/[/URL]XXXXXXXXXXXXX/Nom_Fichier_Excel.xlsm (*)
Puis tu copies/colles le résultat obtenu dans la barre d'adresse de ton navigateur
Là, normalement soit le classeur s'ouvre dans le navigateur, soit Microsoft te demande de te connecter à ton compte Microsoft.

(*) : j'ai mis des X pour anonymisation

• Donc avec Sharepoint, tu devrais avoir une URL
(je testerais lundi au travail)

NB: Je viens de faire les tests sur mon PC

PS: Dans mon exemple, j'ai mis deux fois cheminDossier (à titre illustratif), mais évidement dans un code VBA à exécuter, il ne doit apparaitre qu'une seule fois.
 
- 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

  • Question Question
Microsoft 365 Excel Sharepoint
Réponses
5
Affichages
569
Réponses
3
Affichages
1 K
Réponses
10
Affichages
95
Retour