OVH Cloud OVH Cloud

Problème liaisons classeurs

12 réponses
Avatar
kevinC
Bonjour,est-ce qu'il est possible d'avoir une mise a jour des liaisons en instantané sur 2 classeurs différents? je m'explique: j'ai 2 fichiers excel avec des liaisons de type rechercheV , quand ils sont sur le même ordinateur la synchro est immédiate (pas besoin d'enregistrer ni de forcer la mise a jour) , si en revanche ils sont 1 sur un ordi et l'autre sur un autre ordi, la synchro fonctionne toujours mais il faut enregistrer le fichier et le ré-ouvrir, pas possible de mettre a jour en "live", or j'aimerai pouvoir faire en sorte que la mise a jour soit instantanée, j'ai tenté de déplacer les fichiers temporaires au même endroit sans succès, y'a t-il une solution ?
Merci d'avance pour votre aide
Cordialement

10 réponses

1 2
Avatar
MichD
Bonjour,
Je n'ai pas ton environnement, mais je commencerais par tester quelque
de chose de simple.
A ) Ouvrir l'éditeur de code VBA : Raccourci clavier Alt + F11
B ) Dans la fenêtre VBAPojet en haut en gauche, fait un double-clic sur
l'élément : ThisWorkbok et copie la petite procédure suivante. Cette
dernière devrait mettre à jour tous les liens de ton fichier. (Espérons
puisque je ne l'ai jamais testée!)
La procédure s'exécute à chaque ouverture du fichier
'------------------------------
Private Sub Workbook_Open()
ThisWorkbook.RefreshAll
End Sub
'------------------------------
P.S. Si tu n'as pas l'habitude des macros, pour que cela fonctionne, tu
dois cocher ces 2 options dans Excel `:
A ) Affiche le menu "Développeur" s'il n'est pas présent dans la barre
du menu du ruban. Pour ce faire, Fichiers / Options / Personnaliser le
ruban / dans la colonne de droite, tu coches "Developpeur".
B ) À partir du menu "développeur" / section : Code / commande :
Sécurité / Paramètre des macros / tu coches : "Accès approuvé au modèle
d'objet du projet VBA
C ) Dans la section du haut de la même fenêtre, choisis le bouton radio
"Activer toutes les macros ... "
MichD
Avatar
kevinc
Le mercredi 07 Août 2019 à 10:09 par kevinC :
Bonjour,est-ce qu'il est possible d'avoir une mise a jour des liaisons en
instantané sur 2 classeurs différents? je m'explique: j'ai 2
fichiers excel avec des liaisons de type rechercheV , quand ils sont sur le
même ordinateur la synchro est immédiate (pas besoin d'enregistrer
ni de forcer la mise a jour) , si en revanche ils sont 1 sur un ordi et l'autre
sur un autre ordi, la synchro fonctionne toujours mais il faut enregistrer le
fichier et le ré-ouvrir, pas possible de mettre a jour en
"live", or j'aimerai pouvoir faire en sorte que la mise a jour soit
instantanée, j'ai tenté de déplacer les fichiers
temporaires au même endroit sans succès, y'a t-il une solution ?
Merci d'avance pour votre aide
Cordialement
Bonjour MichD,
Merci pour ta réponse déjà pour commencer
J'ai tenté ce que tu m'as dis mais en vain, la mise a jour n'est pas en live, il faut que j'enregistre le fichier impérativement (ce qui en soit ne me dérange pas) mais si je ne ré ouvre pas le classeur ou si je ne clique pas sur "mettre a jour les valeurs" mon classeur ne se met pas a jour automatiquement (c'est surtout ça qui me dérange car les classeurs sont censés rester ouverts)… or j'aimerai vraiment qu'il se mette a jour en live, chose qui fonctionne quand je suis sur le même ordi... pour info j'ai aussi essayé d'exécuter les 2 classeurs depuis un ordi "serveur" et même de forcer les fichiers temporaires au même endroit mais cela ne fonctionne pas non plus … la mise a jour en live fonctionne uniquement quand j'ouvre les 2 classeurs sur le même ordi.
(Pour ce qui est de l'environnement :Windows 7 Pro et office pro plus 2016).
As-tu une autre idée ?
Cordialement
Avatar
kevinc
Le mercredi 07 Août 2019 à 10:09 par kevinC :
Bonjour,est-ce qu'il est possible d'avoir une mise a jour des liaisons en
instantané sur 2 classeurs différents? je m'explique: j'ai 2
fichiers excel avec des liaisons de type rechercheV , quand ils sont sur le
même ordinateur la synchro est immédiate (pas besoin d'enregistrer
ni de forcer la mise a jour) , si en revanche ils sont 1 sur un ordi et l'autre
sur un autre ordi, la synchro fonctionne toujours mais il faut enregistrer le
fichier et le ré-ouvrir, pas possible de mettre a jour en
"live", or j'aimerai pouvoir faire en sorte que la mise a jour soit
instantanée, j'ai tenté de déplacer les fichiers
temporaires au même endroit sans succès, y'a t-il une solution ?
Merci d'avance pour votre aide
Cordialement
Re, en fait je pense avoir trouvé le problème a ma question mais je ne sais pas comment le résoudre …
En gros quand j'inscris une valeur dans le classeur 1, rien que de valider cette cellule ça me met déjà a jour le classeur 2 même sans enregistrer (quand je suis sur le même ordi pour les 2 classeurs), il doit donc y avoir un genre de fichier temporaire qui se met a jour dès modification d'une valeur de cellule et je pense que c'est ce fameux fichier qui doit se trouver sur le même endroit du réseau pour les 2 classeurs sauf que j'ai essayé de migrer les dossiers temporaires des 2 ordis au même endroit et cela ne change rien mais je crois qu'il y a beaucoup de temporaires a différents endroits et de différents types avec excel (genre sauvegarde auto, récupération de classeur ...etc)…il faudrait que je trouve quel type de temporaire se mets a jour a chaque changement de valeur de cellule et son emplacement si ça peut mettre quelqu'un sur la bonne piste sait-on jamais et merci
Cordialement
Avatar
MichD
Bonjour,
Mon environnement m'empêche d'effectuer des tests.
Une autre proposition : tu adaptes le chemin de ton fichier source du
réseau.
Suggestion émanant de :
https://social.technet.microsoft.com/Forums/en-US/4dd4b422-508d-4a94-85c1-39beeb98e4dc/automatic-updating-of-links-between-excel-workbooks-on-a-network?forum=excel
'------------------------------
Private Sub Workbook_Open()
ActiveWorkbook.UpdateLink Name:="rexzhang-pcdtest_dde_.xlsx", _
Type:=xlExcelLinks
End Sub
'------------------------------
Un lien pour de l'information générale sur le sujet :
https://support.office.com/fr-fr/article/contrôler-la-mise-à-jour-des-références-externes-liens-21e995b5-bab1-4328-8ab3-dd357fe0e653?ui=fr-FR&rs=fr-FR&ad=FR
MichD
Avatar
kevinc
Le mercredi 07 Août 2019 à 10:09 par kevinC :
Bonjour,est-ce qu'il est possible d'avoir une mise a jour des liaisons en
instantané sur 2 classeurs différents? je m'explique: j'ai 2
fichiers excel avec des liaisons de type rechercheV , quand ils sont sur le
même ordinateur la synchro est immédiate (pas besoin d'enregistrer
ni de forcer la mise a jour) , si en revanche ils sont 1 sur un ordi et l'autre
sur un autre ordi, la synchro fonctionne toujours mais il faut enregistrer le
fichier et le ré-ouvrir, pas possible de mettre a jour en
"live", or j'aimerai pouvoir faire en sorte que la mise a jour soit
instantanée, j'ai tenté de déplacer les fichiers
temporaires au même endroit sans succès, y'a t-il une solution ?
Merci d'avance pour votre aide
Cordialement
Re bonjour,
Je viens de tenter le code vba avec le lien du classeur mais toujours en vain, je n'ai aucun changement…
toujours obligé de sauvegarder le classeur 1 après modification et ensuite cliquer sur "mettre a jour les valeurs" du classeur 2 ou le réouvrir pour l'actualisation
j'ai jeté un œil sur tes liens mais je pense pas que le problème vienne de la mais plutôt d'un "temporaire flottant" qui se met a jour en live et sans sauvegarde car les liens sont toujours bon même quand je déplace les fichiers (ce qui veut dire que la mise a jour auto fonctionne)
je deviens un cas désespérant je crois ;) mais merci pour ton aide et si d'autres idées je suis preneur … merci
Cordialement
Avatar
MichD
J'ai fait un petit test.
Les deux classeurs étaient ouverts.
Dans le fichier MichD1.xlsm, j'ai créé un lien avec un autre classeur
"MichD_test".
J'ai enregistré le classeur contenant un lien sur OneDrive et l'autre
classeur dans un répertoire local de l'ordinateur.
Dès que j'ouvre MichD1.xlsm, le classeur se met à jour automatiquement.
Cependant une barre de sécurité s'affiche dans le haut du fichier à
l'ouverture. On peut la faire disparaître en décochant l'option dans
Excel /Options avancées/ section "Générales" - "Confirmer la mise à jour
automatique des liens".
L'enregistrement ne s'est pas fait sur un autre ordinateur sur le
réseau, mais c'est le mieux que je peux faire comme test dans mon
environnement.
(Excel 2016).
MichD
Avatar
kevinc
Le mercredi 07 Août 2019 à 10:09 par kevinC :
Bonjour,est-ce qu'il est possible d'avoir une mise a jour des liaisons en
instantané sur 2 classeurs différents? je m'explique: j'ai 2
fichiers excel avec des liaisons de type rechercheV , quand ils sont sur le
même ordinateur la synchro est immédiate (pas besoin d'enregistrer
ni de forcer la mise a jour) , si en revanche ils sont 1 sur un ordi et l'autre
sur un autre ordi, la synchro fonctionne toujours mais il faut enregistrer le
fichier et le ré-ouvrir, pas possible de mettre a jour en
"live", or j'aimerai pouvoir faire en sorte que la mise a jour soit
instantanée, j'ai tenté de déplacer les fichiers
temporaires au même endroit sans succès, y'a t-il une solution ?
Merci d'avance pour votre aide
Cordialement
Bonjour, merci pour ta réponse
Alors ta solution me parait contourner légèrement le problème mais malheureusement je n'ai pas une réelle mise a jour "dynamique", c a d que je ne suis pas censé ouvrir le fichier car il reste ouvert en continu (juste une macro de sauvegarde pour justement éviter de le fermer) et ce pour les 2 classeurs.
Ensuite j'ai pu approfondir les liens que tu m'as envoyé et a priori la liaison dynamique ne fonctionne que sur le même ordi et non en réseau, c a d qu'en gros si c'est une liaison dynamique via réseau elle n'est pas "dynamique" mais ne fonctionne que a partir d'un enregistrement puis ré ouverture/actualisation du classeur.
Du coup je ne sais pas si c'est vraiment officiel mais ça a l'air de l'être, alors peut-être pas vraiment de solution si ce n'est que "bidouiller", alors j'ai eu l'idée de partager mes classeurs en les laissant ouverts sur mon serveur en permanence et ouvrir ceux dont j'ai besoin a différents endroits du réseau, plus qu'a réaliser une macro pour enregistrement auto a chaque changement de valeur de cellule et forcer une mise a jour des liens ensuite … c'est pas top mais je ne vois que ça … qu'en penses-tu ? ou as tu mieux ?
Avatar
MichD
Dans l'exemple précédent que je t'ai donné, le fichier est sur le
serveur OneDrive de Microsoft et cela n'empêche pas les données de se
mettre à jour dès l'ouverture du fichier...Tu ne peux pas mettre le
fichier sur le serveur du réseau, mais seulement sur un autre ordinateur
du réseau?
Une suggestion de lecture ici : (Section : Lecteurs mappés et UNC)
https://support.microsoft.com/fr-fr/help/328440/description-of-link-management-and-storage-in-excel
Sur le même thème en anglais :
https://excelribbon.tips.net/T010519_Changing_Link_References.html
Est-ce applicable à ton environnement, bien que différent de ton approche?
Se connecter à un autre classeur
https://support.office.com/fr-fr/article/se-connecter-à-un-autre-classeur-3a557ddb-70f3-400b-b48c-0c86ce62b4f5?ui=fr-FR&rs=fr-FR&ad=FR
Bon travail,
MichD
Avatar
kevinc
Le mercredi 07 Août 2019 à 10:09 par kevinC :
Bonjour,est-ce qu'il est possible d'avoir une mise a jour des liaisons en
instantané sur 2 classeurs différents? je m'explique: j'ai 2
fichiers excel avec des liaisons de type rechercheV , quand ils sont sur le
même ordinateur la synchro est immédiate (pas besoin d'enregistrer
ni de forcer la mise a jour) , si en revanche ils sont 1 sur un ordi et l'autre
sur un autre ordi, la synchro fonctionne toujours mais il faut enregistrer le
fichier et le ré-ouvrir, pas possible de mettre a jour en
"live", or j'aimerai pouvoir faire en sorte que la mise a jour soit
instantanée, j'ai tenté de déplacer les fichiers
temporaires au même endroit sans succès, y'a t-il une solution ?
Merci d'avance pour votre aide
Cordialement
Je fais des essais début de semaine prochaine car je commence a manquer de temps en fin de semaine, je te tiens au courant et merci
bon WE
Cordialement
Avatar
kevinc
Le mercredi 07 Août 2019 à 10:09 par kevinC :
Bonjour,est-ce qu'il est possible d'avoir une mise a jour des liaisons en
instantané sur 2 classeurs différents? je m'explique: j'ai 2
fichiers excel avec des liaisons de type rechercheV , quand ils sont sur le
même ordinateur la synchro est immédiate (pas besoin d'enregistrer
ni de forcer la mise a jour) , si en revanche ils sont 1 sur un ordi et l'autre
sur un autre ordi, la synchro fonctionne toujours mais il faut enregistrer le
fichier et le ré-ouvrir, pas possible de mettre a jour en
"live", or j'aimerai pouvoir faire en sorte que la mise a jour soit
instantanée, j'ai tenté de déplacer les fichiers
temporaires au même endroit sans succès, y'a t-il une solution ?
Merci d'avance pour votre aide
Cordialement
Bonjour,
Comme convenu je reviens pour les nouvelles, j'ai donc fait des essais via onedrive ou via lecteurs UNC , donc pour résumer dans les 2 cas mes liaisons de classeurs fonctionnent sauf que je n'ai toujours pas de mise a jour en instantanée, je suis obligé d'enregistrer mes fichiers puis des les ouvrir a nouveau, or de base les fichiers sont toujours ouverts avec une macro pour les enregistrer, alors j'ai pensé a modifier ma macro pour faire une ré ouverture du classeur mais c'est un peu "lourd" ...
et au final je crois que je ne vais pas avoir le choix ...
merci
1 2