Problème LIAISONS : XLD + fort que crosoft?

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • 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 !

C@thy

XLDnaute Barbatruc
Bonjour chers amis du forum,

dans un classeur (simplifié por l'exemple) j'ai des liaisons vers d'autres classeurs
certaines liaisons se mettent à jour à l'ouverture du classeur résultat, d'autres pas... il faut ouvrir le classeur source pour avoir la màj...

J'ai saisi crosoft du problème en début de semaine, ils planchent toujours sur la question... J'ai eu droit à une assistance en ligne me demandant de faire différentes manips, aucune n'a résolu le problème.

Donc je me penche (pas trop...à cause de mes rhumatismes...) vers vous pour savoir si vous avez rencontré ce comportement.
Il me semble que cela vient de 2010 et du .xlsm, je joins les fichiers.

Si j'obtiens une réponse valable de crosoft je vous en tiendrai informés.

Merci à vous et bonne journée

Bisous bisous

C@thy
 

Pièces jointes

Re : Problème LIAISONS : XLD + fort que crosoft?

Bonsouar le forum,

Toujours pas de soluce de crosoft,
donc je fais avec les moyens du bord :

je recopie une à une toutes les feuilles de mes classeurs posant problèmes ainsi que tous les modules
(au passage sous 2013 les noms de modules ne peuvent plus contenir d'espace ni de points...)

par contre je ne récupère pas les noms.

Une de mes feuilles comporte environ 50 noms.

Existe-t-il un moyen rapide (macro) de copiuer tous les noms d'un classeur vers un autre???

Merci à vous si vous avez cette perle rare

Bises

C@thy
 
Re : Problème LIAISONS : XLD + fort que crosoft?

Bonjour C@thy et bises

macro a adapter

Code:
Sub report()
Dim nom As Name
For Each nom In ActiveWorkbook.Names
  Workbooks("Classeur1.xlsm").Names.Add Name:=nom.Name, RefersTo:=nom.RefersTo
Next
End Sub
 
Re : Problème LIAISONS : XLD + fort que crosoft?

Arf! Pj! Cela fonctionne parfaitement sur un fichier de test, mais voilà-t-y-pas que dans le vrai classeur mes noms sont dans la feuille Synthèse...
et là, du coup, ça ne fonctionne pas...

T'as une idée?

Bises et un grand MERCI

C@thy
 
Re : Problème LIAISONS : XLD + fort que crosoft?

Oui Chris, c'est bien ça.

et je viens de m'apercevoir que je n'ai pas que la feuille synthèse, il y en a d'autres.

Bises 🙂

C@thy
 
Dernière édition:
Re : Problème LIAISONS : XLD + fort que crosoft?

Re

A tester
NB: Eventuellement donner plus de détails (plusieurs feuilles fichier 1 ,plusieurs feuilles fichier 2 ......)

Code:
Sub report()
Dim nom As Name
lafeuille = "Synthese"
For Each nom In ActiveWorkbook.Names
  ref = Split(nom.RefersTo, "!")(1)
  Workbooks("Classeur1.xlsx").Names.Add Name:=nom.Name, RefersTo:=lafeuille & "!" & ref
Next
End Sub
 
Dernière édition:
Re : Problème LIAISONS : XLD + fort que crosoft?

Yesss pierre-jean,

j'avais réussi à écrire ceci :

Sub report()
Dim nom As Name
For i = 1 To 3
For Each nom In ActiveWorkbook.Sheets(i).Names
Workbooks("Classeur1.xlsm").Sheets(i).Names.Add Name:=nom.Name, RefersTo:=nom.RefersTo
Next
Next i
End Sub

Ca marche SUPER.

Un grand MERCI à toi, et plein de bises,

C@thy
 
Re : Problème LIAISONS : XLD + fort que crosoft?

Re

A priori la portée est gérée au niveau du Name mais il semblerait que si un même nom existe avec une portée feuille et une portée classeur, un seul est copié.

Dans ce cas il faut 2 boucles successives : encore une bizarrerie...
 
Re : Problème LIAISONS : XLD + fort que crosoft?

Re

Oui : au début j'ai testé s'il fallait vérifier la portée mais deux boucles identiques successives marchent pareil alors j'ai enlevé le test

Il semble que le PB soit dans le fichier lié : si on le repasse en xls il est trouvé sinon non.
J'ai déjà remarqué que les évolutions d'un classeur à travers les versions laissent des scories mais celle-là est vraiment emm...
 
Re : Problème LIAISONS : XLD + fort que crosoft?

comme ça?

Sub report()
Dim nom As Name
For Each nom In ActiveWorkbook.Names
Workbooks("Classeur2.xlsm").Names.Add Name:=nom.Name, RefersTo:=nom.RefersTo
Next
For i = 1 To ActiveWorkbook.Sheets.Count
For Each nom In ActiveWorkbook.Sheets(i).Names
Workbooks("Classeur2.xlsm").Sheets(i).Names.Add Name:=nom.Name, RefersTo:=nom.RefersTo
Next
Next i
End Sub


C@thy
 
- 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

Retour