Microsoft 365 Blocage de la mise à jours des liaisons

tbft

XLDnaute Accro
Bonjour

Dans le cadre de mon boulot, je dois créer un fichier "récap" qui récupère des données d'autres classeurs via des formules du type:
=SIERREUR('disque:\repertoire\[Nom_fichier]Nom_feuille'!Cellule;"")

La création des formules se fait sans aucun problème.
Mon soucis vient du fait que l'utilisateur souhaite créer le fichier "récap" avant que les fichiers "sources" n'existe.
Donc, lors de la mise en place des formules via l'instruction suivante, Excel demande ou sont les fichiers. l'utilisateur doit cliquer sur annuler.
VB:
 Worksheets(Feuille_Rapport_Mensuel).Range(Cells(.Debut, .Colone_Debut + 1), Cells(.Fin, .Colone_Debut + .Nb_Colonne)).Formula = Table_Donnee

Serait-il possible de bloque la mise à jours des liaisons ou de passer la mise à jours en manuel, svp?

D'avance merci
 

tbft

XLDnaute Accro
Re bonjour

J'ai le même soucis quand je colle la formule à la main dans le fichier excel:
=SIERREUR('c:\temp\[toto.xlsx]tata'!A;"")

Comment faire pour ne plus avoir la fenêtre qui demande : "ouquilestlefichier????"
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Sur excel 2010 dans la fenêtre de gestion des liens vous pouvez choisir quand on clique sur 'invite de démarrage':
liens.PNG


cordialement
 

tbft

XLDnaute Accro
Merci pour votre réponse

J'ai paramétré l'invité de démarrage comme vous me l'avez indiqué.
J'ai collé une formule qui renvoi vers un fichier qui n'existe pas.
Et il me demande toujours ouquilestlefichier.

Par contre je vois que sur votre excel, l'option mise à jour manuelle est grisé (comme chez moi). Savez-vous pourquoi?

Et encore merci pour aide
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

La seule chose que je vois possible est de rompre la source du lien, ce qui aura pour effet de remplacer les liens par leur valeur:
Dans la macro ci-dessous le paramètre NomDuLien est en fait le chemin complet du fichier vers lequel pointent les liens.

Elle est a appelée comme ceci :
RompreLien "D:\chemin\fichier.xlsm"

VB:
Sub RompreLien(NomDuLien As String)
    Dim ls As Variant
    For Each ls In ThisWorkbook.LinkSources
        If LCase(ls) = LCase(NomDuLien) Then ThisWorkbook.BreakLink ls, xlLinkTypeExcelLinks
    Next ls
End Sub
Bonne soirée
 

Discussions similaires

Statistiques des forums

Discussions
315 074
Messages
2 115 929
Membres
112 625
dernier inscrit
esteban63