peyro a écrit :
bonjour,
je me pose une chite question de priorité.
j'utilise la fonction worksheet_change pour automatiser une macro lorsque l'utilisateur change des parametres
mais le premier truc que fait excel c'est mettre a jour les liens dans ma feuille puis lancer la macro. Est-ce qu'il y a un moyen de donner la priorité a la macro, pour que celle ci ce lance avant les changements dans mon workbook???
J'ai trouvé cette fonction "Application.AskToUpdateLinks" pour mettre a jour les liens mais pas l'inverse ( note : Application.AskToUpdateLinks = false n'empeche pas la mise a jour des liens)
une idée?
merci
Salut
AskToUpdateLinks sert à demander à l'utilisateur s'il veut la mise à jour. Donc, à false excel zappe la boite de dialogue.
je verrais plutôt une interdiction de mettre les liasons à jour
ActiveWorkbook.UpdateLinks = xlUpdateLinksNever
à l'activation de la feuille concernée
puis dans la macro sur changement des instructions juste avant le End sub
ActiveWorkbook..UpdateLinks = xlUpdateLinksAlways
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
ActiveWorkbook.UpdateLinks = xlUpdateLinksNever
end sub
et en désactivation de la feuille concernée ou que tu fermes le classeur
ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways
en gros : quand tu actives ta feuille, tu bloques les MAJ
quand ta macro de changement est lancée,
elle débloque les MAJ, les effectue et les rebloque
quand tu sorts de la feuille ou que tu fermes le classeur, tu rétablis les MAJ
Comme je suis feignant, ça reste à l'état d'idée, je ne l'ai pas testée
A+
|