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:
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.
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):
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 🙂 !
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):
(je retape pour faciliter l'indexation des futures recherches avec cette erreur pour d'autre)."Les liens vers "classeur 1" n'ont pas été mis à jour, parce que "classeur 1" n'a pas été recalculé avant le dernier enregistrement."
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 🙂 !