Ne pas màj les liaisons à l'ouverture de fichier avec VBA 2010

Signaler
Messages postés
8
Date d'inscription
jeudi 25 mars 2010
Statut
Membre
Dernière intervention
12 septembre 2013
-
Messages postés
30350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020
-
Bonjour,

J'ai créé une macro il y a quelques années sous Office 2007. Depuis je l'utilise mensuellement sans problème.
Seulement, depuis que je suis passée sous Excel 2010, l'instruction "application.displayalerts" que j'utilisais pour ne pas avoir de demande de mise à jour à l'ouverture de fichiers ne fonctionne plus...
Quelqu'un aurait une idée ?

Sachant que la macro crée 100 fichiers avec des liaisons, les sauve, les ferme, fait d'autres choses, puis réouvre ces 100 fichiers... C'est à ce moment que je craque en cliquant 100 fois sur "ne pas mettre à jour"!

Un grand merci d'avance !!!

1 réponse

Messages postés
30350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020
338
Bonjour

peut être en essayant ceci lors de l'ouverture de vos classeurs XL:
Workbooks.Open Filename:= "C:monfichier.xls", UpdateLinks:=0



vous pouvez aussi utiliser :
Application.AskToUpdateLinks = False


Cordialement,
Jordane
Messages postés
8
Date d'inscription
jeudi 25 mars 2010
Statut
Membre
Dernière intervention
12 septembre 2013

Ok, je n'avais pas compris... Et je suis très étonnée qu'une instruction donnée dans le cadre de l'ouverture d'un fichier en particulier modifie les options générales d'Excel... En conséquence, tu devines mes nouvelles questions : comment relever la valeur d'origine de la propriété, et la restituer ?
Merci !!
Messages postés
30350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020
338
Je ne sais pas où se trouve cette fameuse case dans 2010

Dans les options / Options avancées / Lors du calcul de ce Classeur, il y a la case :
Mettre à jour les liaisons vers d'autres documents.


Pour rassurer Ucfoutu (que je salue au passage :-) ), il te suffit de mettre à FALSE la commande que je t'ai donné au lancement de ton programme, puis de la remettre à sa valeur initiale une fois le travail terminé (ce qu'Ufoutu t'avait indiqué dans un message précédent ^^ )

Exemple :
Sub test()

'Valeur initiale
ValUpdateLinks = Application.AskToUpdateLinks

'passage à false
Application.AskToUpdateLinks = False

'......
' traitements à effectuer
'...

'Remise à sa valeur initiale
Application.AskToUpdateLinks = ValUpdateLinks

End Sub
Messages postés
8
Date d'inscription
jeudi 25 mars 2010
Statut
Membre
Dernière intervention
12 septembre 2013

Bizarrement, la case était cochée dans mon Excel... et dans ceux des utilisateurs ayant déjà testé la "nouvelle" macro...
Merci beaucoup de votre aide à tous les 2 !!!!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
relire quand-même ce que j'en ai également dit (et qui a disparu !).
Cette commande (rétablissement ou non in fine) n'en affectera pas moins les autres applis éventuellement ouvertes (et l'utilisateur risque fort de ne pas "aimer" du tout du tout) !:
Messages postés
30350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020
338
Ucfoutu, ton commentaire n'a pas disparu
il y à un lien en haut de nos commentaires :
"Afficher les 7 commentaires"
Si tu cliques dessus ça les réaffiche tout....

Tom commentaire est là:
http://codes-sources.commentcamarche.net/forum/affich-10005615-ne-pas-maj-les-liaisons-a-l-ouverture-de-fichier-avec-vba-2010#2

Par contre, je viens de le découvrir.. une nouvelle option mise en place par CMM ?? Peut-être..