Microsoft 365 Mise à jour des références / liens depuis un sharepoint

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 !

Dégé59

XLDnaute Nouveau
Bonjour à tous!

Une nouvelle question épineuse... ou pas si ça tombe. En tout cas je coince car je ne comprends pas le problème et pas moyen de trouver une réponse en ligne.

La situation:
J'ai un "classeur source" dans lequel sont rentrées des valeurs d'état de stock manuellement, 1x par jour, pas toujours par le même utilisateur.

Ce fichier a passé des mois sur le serveur local de la société, mais nous avons eu plusieurs situations à répétitions, du type "fichier ouvert par Machin, vous ne pouvez accéder qu'en lecture seule" (Machin étant en général moi d'ailleurs, alors que le fichier n'est pas du tout ouvert chez moi... mais passons) qui nous ont mis dans la galère.

Surtout que Machin n'est apparemment souvent personne en réalité, et que ça reste bloqué comme ça plusieurs jours... j'ai donc décidé de mettre le fichier en ligne afin d'en finir avec ça. Le but est de donner accès en écriture à la même liste de personnes qui viennent modifier les valeurs du fichier en ligne, de la même façon qu'avant en local.

Un deuxième classeur, lui toujours sur le serveur local, contient des réfs à ces valeurs pour en faire un envoi de pdf par mail toutes les 12h.

J'ai donc modifié les réfs dans les cellules de "classeur 2" afin de prendre en compte le déplacement de "classeur source" sur le Sharepoint.

Les réfs sont donc comme cela, par exemple pour réf à la cellule G5 de l'onglet MAJ STOCK:

Code:
='https://Entreprise-my.sharepoint.com/personal/MonNom_Entreprise_com/Documents/ÉTAT DES STOCKS/[Classeur Source.xlsm]MAJ STOCK'!$G$5

Mais apparemment c'est plus compliqué que ça...

Le problème:
Quand on met à jour les valeurs dans "classeur source" sur le Sharepoint, les valeurs ne se rafraichissent pas dans "classeur 2" sur le serveur local. Même si je ferme et rouvre le fichier. Même si je fais "actualiser les liaisons". Même si j'active la macro de "classeur 2", qui contient au début une procédure de rafraichissement ligne par ligne pour certaines sources cibles (code ci-dessous), car j'avais eu le problème en local au début ou je n'arrivais pas à mettre à jour les valeurs dans "classeur 2" sans fermer / ouvrir.

VB:
'Procédure rafraichissement des liaisons ETAT STOCK et DATABASE
         
            Dim NomFich$, Wsh As Worksheet
 
     NomFich = "https://Entreprise-my.sharepoint.com/personal/MonNom_Entreprise_com/Documents/ÉTAT DES STOCKS/[Classeur Source.xlsm]"
 
     For Each Wsh In ThisWorkbook.Worksheets
          Wsh.Cells.Replace What:=NomFich, Replacement:=NomFich _
             , LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
     Next

Par contre, et c'est là ou c'est bizarre MAIS que ça valide le fait que mes réfs sont correctes en elle-mêmes:

À l'activation de la macro ci-dessus dans "classeur 2", parfois au début et parfois à la toute fin de la procédure, j'ai le message suivant qui apparaît et bloque l'exécution ("ETAT STOCKPROD" est le vrai nom du classeur 1):
1758291586803.png

"Les liens vers "classeur 1" n'ont pas été mis à jour, parce que "classeur 1" n'a pas été recalculé avant le dernier enregistrement."
(je retape pour faciliter l'indexation des futures recherches avec cette erreur pour d'autre).

Encore plus bizarre: cliquer sur OK débloque bien la procédure, mais ne met quand même pas à jour les valeurs qui viennent de classeur 1... sauf parfois 😀 !

Je ne peux pas donner de ratio de réussite de la mise à jour ni tirer des conclusions sur quand ça arrive ou pas, car pour le moment ça me semble totalement aléatoire et impossible à reproduire volontairement.

Voilà, je pense qu'on a déjà un joli pavé... mais c'est pas facile à expliquer.

Quelqu'un aurait-il une idée sur l'origine du problème, et sur comment y remédier?

Merci d'avance pour vos idée 🙂 !
 
Salut Dégé59

Quand on veut travailler sur SharePoint comme aujourd'hui avec M365, il faut arrêter d'utiliser VBA
Vous avez Power Query pour récupérer des données
Power Automate pour automatiser certaines actions, tel qu'envoyer un mail
Etc...

Je n'ai pas de solution proprement dit
A+
 
Bonjour à tous!

J'ai passé un moment à apprendre Power Query, puis à faire une refonte de certains de mes outils Excel pour les rendre plus performants grâce à ça.

Pour le problème évoqué plus haut, en effet ça permet de ne plus avoir l'erreur d'execution VBA, mais par contre ça ne résout visiblement pas le problème principal qui est que les liaisons ne se mettent pas à jour...

En fait je pense que le problème ne vient pas de PQ :

- Je mets à jour les valeurs dans le classeur 1 sur navigateur (via un lien envoyé par mail "x vous a invité à afficher un fichier").
- Je referme le classeur 1 sur le navigateur, ou bien je le laisse ouvert, ça ne fait aucune différence.
- Dans tous les cas le classeur 1 en version bureau est toujours fermé
- Je clique sur "Actualiser tout" dans le classeur 2
- L'actualisation se fait, mais les valeurs ne se mettent pas à jour, même si j'actualise 3 - 4x de suite.

J'ai passé un peu de temps à faire le test dans tous les sens, et rien à faire: si je veux que mes valeurs s'actualisent, je dois toujours d'abord ouvrir et refermer le classeur 1 en version bureau dans le folder source du Sharepoint, puis cliquer sur actualiser dans classeur 2. Et là, ça fonctionne. J'ai d'ailleurs remarqué en ouvrant Classeur 1 en version bureau, qu'au moment où il s'ouvre les valeurs ne sont pas à jour dedans non plus initialement, mais elle le deviennent au bout d'une seconde environ (je les vois changer toutes seules). D'ailleurs parfois je dois ouvrir / fermer 2x de suite pour que ça le fasse.

Donc clairement le problème vient de la synchro sur le Sharepoint...

Pourtant, si j'ouvre la version bureau et la version en ligne en même temps (j'ai plusieurs écrans), je vois les valeurs changer sur l'un et l'autre dans les 1 à 2 secondes maxi à chaque fois, je me vois naviguer en direct sur l'un et l'autre.

Est-ce que ce phénomène est courant en utilisant ce genre de fichiers en ligne, il y a un temps de synchro à respecter ou quelque chose comme ça? En l'état, c'est inutilisable pour moi.

Y a-t-il quelque chose que je pourrais faire pour régler ça?
 
- 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
4
Affichages
192
Retour