Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Liaisons rompue

  • Initiateur de la discussion Initiateur de la discussion Bob 31
  • 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 !

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.
 
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:
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
 
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"
 
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.
 
- 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

Réponses
1
Affichages
611
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…