Coller avec liaison dans Excel
Bonjour
J’ai des Copier / Coller avec liaison nombreux entre une quinzaine de dossiers Excel différents.
J’ai observé que, si je déplace la zone Source d’un Copier / Coller :
• quand le dossier Cible est lui-même ouvert : la mise à jour des adresses de la zone Source y est faite
• quand le dossier Cible n’est pas ouvert : la mise à jour des adresses de la zone Source n’y est pas faite, ce qui entraîne une erreur dans le Coller
Donc, je cherche une bonne solution qui me permette de conserver en bon état les liaisons Copier / Coller quand je déplace une zone Source.
Merci par avance de votre aide.
Francois
Bonsoir Françoisch
Je vois que même Excel-Downloads ne peut répondre à ta question.
En effet, déplacer la cellule source ne change pas la formule collée avec liaison.
Toutefois, (ce n'est pas facile à mettre en oeuvre), surtout s'il y a plusieurs cellules, la liaison avec une cellule peut être conservée lors du déplacement de la cellule source, sous 2 conditions:
1) Que la cellule source soit nommée
2) Que la liaison indique le chemin d'accès COMPLET vers la cellule source.
Par exemple classeur et Feuille source: 5.xls, Feuille "Régional" dans D:/Mes documents. Cellule nommée "Cible"
La liaison est: ='D:\Mes documents\[5.xls]Régional'!Cible
Le déplacement de la cellule nommée "Cible" ne rompt pas la liaison.
Un autre moyen plus lourd est de passer par une cellule intermédiaire contenant le chemin d'accès sous forme de formule texte, du style:
="="&"'D:\Mes documents\"&"["&5&".xls"&"]"&"Régional'!Cible"
et d'activer cette formule pour en faire une liaison identique à la précédente par un bout de Code placé dans un module:
Sub Liaison_Variable()
Range("A2").Select
Selection.Copy
Range("A3").Select
ActiveSheet.Paste
Range("A3").Select
Application.CutCopyMode = False
ActiveCell.Value = ActiveCell.Value
End SubDonc, sur ce code, la formule Texte en A2, le résultat en A3
Cette "astuce" a déjà été utilisée sur
https://forum.excel-pratique.com/viewtopic.php?t=814&highlight=senga
Cordialement
bonjour Amadeus et merci de ta réponse.
Je vais étudier ta solution plus avant mais je voulais t'en remercier sans attendre.
D'autant plus que j'imaginais tout à fait qu'il n'y ait pas de réponse du tout.
Juste une / deux questions supplémentaires:
- ta solution fonctionne t elle pour un groupe de cellules (plutôt qu'avec une seule)?
- comment faire quand la Source est un groupe de cellules pour les nommer?
Ou bien faut-il procéder une cellule par une cellule?
Merci encore.
Francois
bonjour
Après étude et réflexion, j'ai l'impression que les solutions proposées ne sont pas simples, surtout pour une plage de cellules.
De mon coté, jusqu'ici, je place en tête de feuille (4 premières lignes) des copies des valeurs utiles aux autres feuilles.
De cette manière, les cellules contenant ces valeurs ne sont jamais mouvementées.
Je vais probablement continuer, sauf pour les cellules uniques, que je nommerai.
Merci de votre aide.
Francois