Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro pour trouver une liaison infernale ... :-(

6 réponses
Avatar
Jerry Khann
Bonjour,

Encore une histoire de liaison récalcitrante ...

Aucune info donnée par "Rechercher + Classeur + Formules"
avec le nom du fichier, et "Insertion + Nom + Définir" est vide.
Pas de graphique visible.

La macro suivante confirme l'existence d'un lien:

Sub Liens_Infernal()
'
' Touche de raccourci du clavier: Ctrl+q
'
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
For i = 1 To UBound(aLinks)
MsgBox "Lien " & i & ":" & Chr(13) & aLinks(i)
Next i
End If
End Sub

Comment connaître:
1- la feuille où ce lien prend source
2- l'objet où ce lien prend source
3- la cellule où ce lien prend source

Existe-t-il une méthode du type "LinkTarget"?

Merci d'avance.

--
Jerry Khann

Adresse invalide: retirer le bouchon _O_ et .invalid

6 réponses

Avatar
Corto
Bonjour Jerry Khann,
Est-ce que tu vois le lien dans Edition->Liaisons ?

Corto

Jerry Khann a écrit :
Bonjour,

Encore une histoire de liaison récalcitrante ...

Aucune info donnée par "Rechercher + Classeur + Formules"
avec le nom du fichier, et "Insertion + Nom + Définir" est vide.
Pas de graphique visible.

La macro suivante confirme l'existence d'un lien:

Sub Liens_Infernal()
'
' Touche de raccourci du clavier: Ctrl+q
'
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
For i = 1 To UBound(aLinks)
MsgBox "Lien " & i & ":" & Chr(13) & aLinks(i)
Next i
End If
End Sub

Comment connaître:
1- la feuille où ce lien prend source
2- l'objet où ce lien prend source
3- la cellule où ce lien prend source

Existe-t-il une méthode du type "LinkTarget"?

Merci d'avance.




Avatar
Jerry Khann
Salut Corto

"Corto" a écrit dans le message de news:
%

Bonjour Jerry Khann,
Est-ce que tu vois le lien dans Edition->Liaisons ?



Oui, bien sur: je vois qu'il est fait appel à un fichier,
situé dans un dossier, ..., mais ça ne me dit pas où
cette liaison est utilisée dans mon classeur qui pose problème.

Ma question est sur la manipulation par macro des liens.

As-tu une idée?

Merci d'avance

--
Jerry Khann

Adresse invalide: retirer le bouchon _O_ et .invalid
Avatar
Jerry Khann
Bonjour MichDenis,

"MichDenis" a écrit dans le message de news:

Bonjour Jerry,

A )
Habituellement, les liens avec d'autres classeurs se retrouvent
afficher dans Barre de menu / édition / Liaison /

Lorsque la commande est inactive, ceci signifie qu'il n'y a aucune
liaison dans les cellules (formule) des feuilles du classeur.



C'est actif et j'avais indiqué que cela ne m'aidait pas.
En effet, cette commande ne donne pas l'origine de l'appel du lien!
Quelle cellule, quel objet, ..., a besoin de ce lien: on ne le sait pas.

B )
Cependant, il y a les "Noms" (Names) définis dans le classeur.
Attention, si tu as ouvert la fenêtre "Définir un nom", tu dois te
rappeler que les noms définis au niveau de la feuille apparaissent
dans cette fenêtre seulement si la feuille est active. Il faut faire le
tour de toutes les feuilles du classeur en utilisant le
menu édition / nom / définir ...



Idem

C ) Il faut s'assurer que les séries de graphe ne font pas référence
à des plages de d'autres fichiers le cas échéant.



J'avais indiqué que je n'avais pas de graphe apparent qui
détenait ce lien.

D ) Et pour ceux qui ont d'ancien fichier utilisant des "boîtes de
dialogue excel"
il faut aussi vérifier qu'aucune référence n'est faite à un fichier
externe.



Chercher feuille par feuille, objet par objet, ...
peut s'avérer très fastidieux!

Ce sont les 4 utilisations pouvant faire référence à un classeur externe.



Qui n'aident pas en l'occurence.

En complément, il y a un fichier : FindLink.zip sur le site de Laurent
Longre qui
peut t'aider à débusquer une liaison : http://xcell05.free.fr/



Ben voilà le truc qui va bien!
En fait je ne l'ai pas trouvé sur le site de Laurent Longre mais ailleurs.

C'est intéressant: finalement c'est un graphe (histogramme)
qui était minimisé à la dimension d'une fine ligne noire positionnée
sur une fine bordure noire: indétectable!

Mais comme FindLink m'a dit quoi et où très précisément,
j'ai sélectionné toute la page avec la flèche "sélection dessin"
et j'ai trouvé ce "p***n" de graphe réduit à une fine ligne.

Thx

--
Jerry Khann

Adresse invalide: retirer le bouchon _O_ et .invalid
Avatar
Jerry Khann
"Corto" a écrit dans le message de news:
%
Bonjour Jerry Khann,
Si tu choisis "Rompre le lien" dans ce menu, Excel va remplacer les
liaisons par leur valeur.
Par macro ça correspond à la méthode Breaklink de l'objet WorkBook.
Sub Liens_Infernal()
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
For i = 1 To UBound(aLinks)
ActiveWorkbook.BreakLink aLinks(i), xlLinkTypeExcelLinks
Next i
End If
End Sub



Le problème n'est pas de rompre le lien.

J'ai besoin de trouver l'origine de ce lien car il ne devrait pas
être là!

Ca veut dire que j'ai laissé traîné quelque chose et il faut que
je le trouve: il y probablement des erreurs qui vont en découler.

La réponse de MichDenis m'a permis de trouver.

Merci quand même.

--
Jerry Khann

Adresse invalide: retirer le bouchon _O_ et .invalid
Avatar
isabelle
bonjour Jerry,

Pour rechercher les liaisons utilisées dans d'autres objets

Dans le menu Edition, cliquez sur Atteindre, puis sur Cellules.
Cliquez sur l'option Objets, puis sur OK.
Appuyez sur TAB, puis recherchez, dans la barre de formule , une
référence à un autre classeur, par exemple [Budget.xls]. Le nom de
l'objet apparaît dans la zone Nom.
Répétez l'étape précédente jusqu'à ce que tous les objets aient été
vérifiés.(à faire pour chacune des Feuilles)

isabelle

Jerry Khann a écrit :
Bonjour MichDenis,

"MichDenis" a écrit dans le message de news:


Bonjour Jerry,

A )
Habituellement, les liens avec d'autres classeurs se retrouvent
afficher dans Barre de menu / édition / Liaison /

Lorsque la commande est inactive, ceci signifie qu'il n'y a aucune
liaison dans les cellules (formule) des feuilles du classeur.




C'est actif et j'avais indiqué que cela ne m'aidait pas.
En effet, cette commande ne donne pas l'origine de l'appel du lien!
Quelle cellule, quel objet, ..., a besoin de ce lien: on ne le sait pas.


B )
Cependant, il y a les "Noms" (Names) définis dans le classeur.
Attention, si tu as ouvert la fenêtre "Définir un nom", tu dois te
rappeler que les noms définis au niveau de la feuille apparaissent
dans cette fenêtre seulement si la feuille est active. Il faut faire le
tour de toutes les feuilles du classeur en utilisant le
menu édition / nom / définir ...




Idem


C ) Il faut s'assurer que les séries de graphe ne font pas référence
à des plages de d'autres fichiers le cas échéant.




J'avais indiqué que je n'avais pas de graphe apparent qui
détenait ce lien.


D ) Et pour ceux qui ont d'ancien fichier utilisant des "boîtes de
dialogue excel"
il faut aussi vérifier qu'aucune référence n'est faite à un fichier
externe.




Chercher feuille par feuille, objet par objet, ...
peut s'avérer très fastidieux!


Ce sont les 4 utilisations pouvant faire référence à un classeur externe.




Qui n'aident pas en l'occurence.


En complément, il y a un fichier : FindLink.zip sur le site de Laurent
Longre qui
peut t'aider à débusquer une liaison : http://xcell05.free.fr/




Ben voilà le truc qui va bien!
En fait je ne l'ai pas trouvé sur le site de Laurent Longre mais ailleurs.

C'est intéressant: finalement c'est un graphe (histogramme)
qui était minimisé à la dimension d'une fine ligne noire positionnée
sur une fine bordure noire: indétectable!

Mais comme FindLink m'a dit quoi et où très précisément,
j'ai sélectionné toute la page avec la flèche "sélection dessin"
et j'ai trouvé ce "p***n" de graphe réduit à une fine ligne.

Thx




Avatar
MichDenis
> Lorsque la commande est inactive, ceci signifie qu'il n'y a aucune
liaison dans les cellules (formule) des feuilles du classeur.



C'est actif et j'avais indiqué que cela ne m'aidait pas.
En effet, cette commande ne donne pas l'origine de l'appel du lien!
Quelle cellule, quel objet, ..., a besoin de ce lien: on ne le sait pas.

**** Si la commande est actif, tu as une liaison.

tu veux savoir quelle cellule,
A ) tu sélectionnes tous les onglets de tes feuilles de calcul de ton classeur

B ) commande : Édition / rechercher /
dans la boîte de saisie "Recherche" [

et dans "Options" de la fenêtre,
1 - tu t'assures que cette option : "totalité du contenu de la cellule"
n'est pas cochée.
2 - Et dans les listes déroulantes de la fenêtre :
Dans : Classeur
Sens : Par ligne ou Colonne
Regarder : Formules