Microsoft 365 Liaisons rompue

Bob 31

XLDnaute Occasionnel
Bonjour
J'ai un classeur qui comporte des liaisons avec plusieurs sources externes (autres fichiers Excel sans macro et avec macro) je souhaiterai quand je supprime un fichier source (donc la liaison est rompue) mettre
#REF!
et non garder les résultats de la liaison de départ lorsque la liaison était correcte.

Merci d'avance.
 

Dranreb

XLDnaute Barbatruc
Vous n'avez jamais dit, ici, que c'étaient les formules mises par cette procédure, qui est d'ailleurs de moi, et qui sort de cette discussion.
Là, bien sûr il devrait être possible de vérifier au passage par un Dir si le fichier existe, et de mettre une formule bidon dans le cas contraire.
Mais en dehors de ça ce que vous demandez n'est pas possible. Pourquoi ne pas détruire les formules comme le suggère les autres intervenants, puisque vous avec cette procédure pour les reconstituer ?
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Alors essayez comme ça :
VB:
Sub MettreFormules()
'   Const Année = "2021"
   Dim Année As String, L&, NomPré
   Année = Cells(1, "X").Value ' À VÉRIFIER (je n'avais vu qu'après que l'année était dans une cellule)
   L = 2
   Do: NomPré = Cells(L, "B").Value: If VarType(NomPré) <> vbString Then Exit Do
      If Dir("\\SrvAldo\drh\" & NomPré & "\" & NomPré & " " & Année & ".xlsx") = "" Then
         Cells(L, "C").Resize(12, 30).Value = CVErr(xlErrRef)
      Else
         Cells(L, "C").Resize(12, 30).FormulaR1C1 = "='\\SrvAldo\drh\" & NomPré _
            & "\[" & NomPré & " " & Année & ".xlsx]ANNUEL'!R[" & 2 - L & "]C"
         End If
      L = L + 12
      Loop
   End Sub
 

Bob 31

XLDnaute Occasionnel
Ca fonctionne, je ne sais pas si on peut automatiser la mise à jour de vérification des formules sur le classeur de destination, il faut que je revienne à chaque fois que j'ouvre ce classeur aller sur développeur macro puis exécuter "formulaire"
 

Dranreb

XLDnaute Barbatruc
On peut certes exécuter à l'ouverture et/ou avant fermeture du classeur un code qui vérifie l'état des liaisons.
Ce sont des procédures de prise en charge d'évènement à mettre dans le module ThisWorkbook. Leurs modèles s'implantent à l'aide des listes déroulantes qui surmontent la fenêtre de code.
 

Discussions similaires

Réponses
4
Affichages
304
  • Résolu(e)
Microsoft 365 planning
Réponses
4
Affichages
176
Réponses
12
Affichages
429

Statistiques des forums

Discussions
311 720
Messages
2 081 912
Membres
101 837
dernier inscrit
Ugo