Ne pas demander la mise à jour des liens quand classeur ouvert via VBA

Emmanuel75019

XLDnaute Nouveau
Bonjour,

Est-il possible, en VBS, d’exécuter une macro d’un classeur sans que soit affiché « Ce classeur contient des liens. Voulez-vous les mettre à jour ?» quand ce dernier contient en effet des liens?

Mon code VBS
Code:
Set aapp= WScript.CreateObject("WScript.Shell")
Set appli= WScript.CreateObject("excel.Application")

appli.DisplayAlerts = False      'Sans effet.

pathString = left(WScript.ScriptFullName, instrrev(WScript.ScriptFullName,"\"))
Set monfichier = appli.Workbooks.Open(pathString & "LeClasseur.xls")
on error resume next
appli.run("auto_open")

J’ai aussi essayé de placer ça au début de ma macro auto_open :
Code:
Application.DisplayAlerts = False      ‘Celle-ci fonctionne bien quand on ouvre le fichier 
                                        ‘directement mais pas quand on l'ouvre via VBS...
Application.ScreenUpdating = False      'Sans effet.
Application.Calculation = xlCalculationManual      'Sans effet.

Bien cordialement,

Emmanuel
 
Dernière édition:

Emmanuel75019

XLDnaute Nouveau
Re : Ne pas demander la mise à jour des liens quand classeur ouvert via VBA

Bonjour Francedemo,

J'ai essayé de placer cette ligne en haut de ma macro : sans effet :(
j'ai aussi essayé de la placer dans ThisWorkbook, il se met en erreur.
Si tu as d'autres idées, je suis preneur

Merci
 
Dernière édition:

Emmanuel75019

XLDnaute Nouveau
Re : Ne pas demander la mise à jour des liens quand classeur ouvert via VBA

Oops, que je suis mauvais, dans ThisWorkbook, je l'ai placé tel quel lol
Je vais essayer de placer ma macro auto_open dans Thisworkbook...
Je suis débutant et je ne sais pas trop la différence avec un module j'avoue..
 

mromain

XLDnaute Barbatruc
Re : Ne pas demander la mise à jour des liens quand classeur ouvert via VBA

Bonjour Emmanuel75019, francedemo


Essaye comme ça :
VB:
Set aapp = WScript.CreateObject("WScript.Shell")
Set appli = WScript.CreateObject("excel.Application")

appli.DisplayAlerts = False      'Sans effet.

pathString = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
Set monfichier = appli.Workbooks.Open(pathString & "LeClasseur.xls", False)
On Error Resume Next
appli.Run ("auto_open"
a+
 
Dernière édition:

francedemo

XLDnaute Occasionnel
Re : Ne pas demander la mise à jour des liens quand classeur ouvert via VBA

par contre, je n'ai pas la version 2007, mais dans la version XP :

menu "édition"
"Liaison"
"Invite de démarrage"

et là tu peux modifier la façon d'afficher la mise à jour des liens

si c'est la même chose dans 2007, à vérifier

à +
 

Emmanuel75019

XLDnaute Nouveau
Re : Ne pas demander la mise à jour des liens quand classeur ouvert via VBA

Ouais !!!

Tu viens de mettre fin à plusieurs heures de recherches !
(Si je puis tutoyer mon maitre...)
On ne peut pas remercier assez sur un forum mais : un grand merci.
Merci à toi aussi Francedemo d'avoir essayé.

Bien à vous
 

Emmanuel75019

XLDnaute Nouveau
Re : Ne pas demander la mise à jour des liens quand classeur ouvert via VBA

En effet, Francedemo mais, le pb, c'est que l'application va tourner sur plusieurs ordinateurs auxquels je n'ai pas accès pour changer cette "préférence Excel".
Merci quand même en tous cas.
A bientôt (malheureusement... lol Car je ne suis pas sortie de l'auberge ;))
 

kiki29

XLDnaute Barbatruc
Re : Ne pas demander la mise à jour des liens quand classeur ouvert via VBA

Salut, voir aide en ligne sur Open il y a un UpdateLinks:= à qualifier ?
Extraiit
expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad, OpenConflictDocument)

Oops : en doublon avec Jean-Marcel , plus véloce
 
Dernière édition:

Emmanuel75019

XLDnaute Nouveau
Re : Ne pas demander la mise à jour des liens quand classeur ouvert via VBA

Merci à vous deux, Jean-Marcel et Kiki29, mais Mromain m'avait déjà donné une solution parfaite :)
Je ne sais pas s'il est possible de marquer une question comme "résolue" sur ce forum, en tous cas, je ne trouve pas.
Merci quand même à vous deux ;)
 

Statistiques des forums

Discussions
312 279
Messages
2 086 722
Membres
103 378
dernier inscrit
phdrouart