J'ai un tableur 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 :
Cela me laisse toujours avec une référence externe fantôme que je ne trouve pas, alors j'essaye encore
En fin de compte, j'ai retracé cela jusqu'aux règles de formatage conditionnel.
Un clic sur "Accueil - Mise en forme conditionnelle - Gérer les règles" ouvre la boîte de dialogue suivante, qui est relativement facile à parcourir et à remplacer les références externes.
Pour les autres personnes qui ont passé des heures à peigner leur fichier, le problème peut aussi exister si vous avez copié une plage de validation de données à partir d'un autre classeur.
Réparer :
Ruban -> Fichier -> Rechercher les problèmes -> Vérifier la compatibilité
Cela fera apparaître le vérificateur qui vous dira si la validation pointe sur une feuille externe.
Plus important encore, il vous dira sur quelle feuille il se trouve.
Quoi qu'il en soit, une fois que vous connaissez la ou les feuilles, allez à la feuille. À présent
Ruban -> Accueil -> Flèche bas à côté de Rechercher et sélectionner -> Validation des données.
Cela sélectionnera les cellules pour lesquelles la validation des données est appliquée.
À présent
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.
Si le classeur est volumineux, il n'est pas facile de trouver la condition de formatage avec une référence externe. J'écris cette fonction VBA pour le trouver. Limité à 80 colonnes et 500 lignes pour réduire le temps d'exécution. quand 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