Suppression de liens externes fantômes dans Excel


24

J'ai une feuille de calcul Excel avec un lien externe dont je ne peux pas me débarrasser.

J'ai beaucoup lu sur Internet et Microsoft recommande ce qui suit :

  • Pour les références dans les cellules: utilisez la recherche et remplacez pour [*] pour trouver toutes les références dans les cellules de la feuille de calcul.
  • Pour les références dans les noms: ouvrez le gestionnaire de noms et assurez-vous qu'il n'y a pas de références externes.
  • Pour les références dans les objets (c'est vraiment pénible): Sélectionnez chaque objet individuellement et regardez dans la barre de formule.
  • Pour les références dans les graphiques (également douloureux): Vérifiez la barre de formule le titre et la série de données pour chaque graphique.

Cela me laisse encore une référence externe fantôme que je ne peux pas trouver, donc j'essaie encore plus de choses

  • La fonctionnalité "Données - Modifier les liens" dans Excel suivie d'un clic sur "Rompre le lien" (rien ne se passe)
  • Utilisé un plugin "FindLink" (ne fonctionnait pas pour moi, mais était convivial à utiliser)
  • Utilisé le plug- in DeleteLinks de Microsoft (également ne fonctionnait pas et n'est pas convivial à utiliser)

Après avoir lu ceci, j'ai également essayé FindLink. Il a mis un message d'état sur la barre d'état identifiant la feuille sur laquelle il cherchait, et m'a donné un sablier, et une heure plus tard, il n'y avait toujours pas de changement. Aucun moyen de savoir s'il a pendu ou s'il était tout simplement très lent. Une boucle aussi lente a besoin d'un indicateur de progression. Maintenir la touche Échap enfoncée n'en est pas sorti, suggérant l'absence de DoEvents dans la boucle. Enfin, j'ai mis fin à Excel.
Greg Lovern

1
Merci - ce que vous avez écrit dans la question était vraiment utile, et les réponses données par d'autres aussi. J'ai remarqué que la zone Modifier les liens affichait toujours un lien après avoir tout essayé, mais la fermeture et la réouverture du classeur faisaient l'affaire - les liens ont tous été supprimés!
dunxd

Réponses:


27

Pour toute autre personne ayant passé des heures à peigner son fichier, le problème peut également exister si vous avez copié une plage de validation de données à partir d'un autre classeur.

Réparer :

Ruban -> Fichier -> Vérifier les problèmes -> Vérifier la compatibilité

Cela fera apparaître le vérificateur qui vous dira si la validation pointe vers une feuille externe.

Plus important encore, il vous indiquera sur quelle feuille il se trouve.

Quoi qu'il en soit, une fois que vous connaissez la ou les feuilles, allez à la feuille. Maintenant

Ruban -> Accueil -> Flèche vers le bas à côté de Rechercher et sélectionner -> Validation des données.

Cela sélectionnera les cellules auxquelles la validation des données est appliquée.

Maintenant

Ruban -> Données -> Validation des données

et corrigez la référence cassée dans le champ "Source", ou cliquez sur "Effacer tout" si vous n'en avez pas besoin.


Pour ceux sur Mac (je suis sur Excel v15.37), la macro sur cette page ( dailydoseofexcel.com/archives/2009/05/04/… ) fonctionne pour trouver des liens dans les validations de données. Vous devrez probablement corriger toutes les citations après avoir copié et collé.
KJH

Je n'aurais jamais pensé que les liens brisés étaient cachés dans la validation des données. Merci!!!
Sean McCarthy

12

À la fin, j'ai retracé cela jusqu'aux règles de mise en forme conditionnelle.

Cliquer sur "Accueil - Mise en forme conditionnelle - Gérer les règles" fait apparaître la boîte de dialogue suivante, qui est relativement facile à parcourir et à remplacer les références externes.

entrez la description de l'image ici


Merci pour ça. Il est entré accidentellement et m'a rendu fou!
Greg Lyon

1
Un autre endroit à vérifier est le "Noms définis" (Formules -> Gestionnaire de noms)
lsowen

2
J'avais une feuille de calcul avec des centaines de mise en forme conditionnelle et les règles ne montraient pas qu'il faisait référence à un fichier externe. Je ne les ai trouvés qu'en renommant .XLSX en .ZIP, en ouvrant file.zip \ xl \ worksheets \ sheet1.xml, en recherchant le chemin du fichier et en notant l'emplacement de la cellule, puis en utilisant le gestionnaire de règles pour les trouver et les supprimer. Vous pouvez copier le fichier, puis supprimer toutes les règles, enregistrer, fermer et rouvrir pour isoler si cette feuille / onglet est à l'origine de votre problème. Référence: superuser.com/a/957178/160219 superuser.com/a/1081277/160219 superuser.com/a/1134500/160219
gregg

Dans mon cas, aucune des solutions affichées n'a fonctionné pour moi. J'ai finalement découvert, par le processus d'élimination, une feuille avec un tas de boutons de formulaire identiques, tous empilés les uns sur les autres avec des affectations à des classeurs externes. Cela était dû au fait que l'utilisateur copiait la feuille à partir d'un autre classeur. Un après-midi entier perdu - sauf pour l'expérience!
DaveU

3

Si le classeur est volumineux, il n'est pas facile de trouver la condition de format avec une référence externe. J'écris cette fonction VBA pour la trouver. Limité à 80 colonnes et 500 lignes pour réduire le temps d'exécution. lorsque la fonction s'arrête, vous pouvez vérifier la position en demandant:

 ?foglio.name
 ?cella.row
 ?cella.column

    Public Function CercaLink()
    Dim Cella As Object, i&, Foglio As Object
    For Each Foglio In ActiveWorkbook.Sheets
       ActiveWorkbook.Sheets(Foglio.Name).Select
       For Each Cella In ActiveSheet.Cells
         If Cella.Column < 80 Then
           If Cella.FormatConditions.Count > 0 Then
              For i = 1 To Cella.FormatConditions.Count
                 If InStr(1, Cella.FormatConditions(i).Formula1, ":\") > 0 Then Stop
              Next
           End If
        End If
        If Cella.Row > 500 Then Exit For
     Next
  Next
  End Function
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.