Re-Bonjour le forum,
La solution du "Shell" me parait effectivement moins adaptée que le "Workbooks.Open".
Cousinhub, ci-dessous mon code (très basic...) pour deux des fichiers que j'ouvre. En fait je n'en ai mis que 2 mais il y a encore 12 autres fichiers ouverts à la suite dans le code...
Cette petite procédure prend environ 1 minute 30 à ouvrir les 14 fichiers et à les refermer aussitôt en les sauvegardant (pour que la fonction AUJOURDHUI() qu'ils contiennent se mette à jour...).
Sub MAJ_P()
Application.ScreenUpdating = False
Workbooks.Open Filename:= _
"S:\RESSOURCES\DSB BDD\2_DIRECT ASSISTANCE\1_ENCADREMENT\Planning_DA_69_2009.xls"
ActiveWorkbook.Save
ActiveWorkbook.Close
Workbooks.Open Filename:= _
"S:\RESSOURCES\DSB BDD\2_DIRECT ASSISTANCE\1_ENCADREMENT\Planning_DA_38_2009.xls"
ActiveWorkbook.Save
ActiveWorkbook.Close
..........................................
..........................................
..........................................
End Sub
L'inconvénient de cette procédure, c'est quand quelqu'un est déjà en train de travailler sur l'un des fichiers. On ne le voit pas tout de suite mais quand la personne le ferme, un message signalant la disponibilité du fichier apparait, même plusieurs heures après...
Pour éviter cela, j'espérais qu'une simple fonction dans VBA puisse mettre à jour mes fichiers sources sans pour autant les ouvrir. Mais j'en demande peut-être beaucoup trop...
En tous cas, merci de m'aider à améliorer mon application.
Fabrice,