La solution de Yuval pourrait suffire, mais seulement si les modifications sont limitées au contenu des cellules. L'enquêteur n'a pas indiqué si tel était le cas. Néanmoins: que se passe-t-il si le changement que vous souhaitez récupérer est l'ajout (peut-être même la suppression de) feuilles de calcul dans le classeur?
Sorte de solution fragile et dégueulasse: stockez une macro dans votre PERSONAL.XLS (B) caché pour effectuer un classeur périodique (en se reprogrammant), fermez et rouvrez. PERSONAL.XLS (B) doit être trouvé dans% USERPROFILE% \ AppData \ Roaming \ Microsoft \ Excel \ XLSTART \)
Sub wkbRefresher()
Dim refreshedWorkbook As Workbook
Dim WkBks As Workbooks
'full filepath
fPath = "c:\tmp\mutatingWorkbook.xls"
'in HH:MM:SS format:
refreshInterval = "00:05:00"
For i = 1 To Application.Workbooks.Count
Debug.Print (Application.Workbooks.Item(i).FullName)
If LCase(Application.Workbooks.Item(i).FullName) = LCase(fPath) Then
Debug.Print (" Yep thats the one! Lets refresh it.")
Application.Workbooks.Item(i).Close
'refreshedWorkbook = WkBks.Open(fPath, True, True)
Set refreshedWorkbook = Excel.Application.Workbooks.Open(fPath, True, True)
End If
Next i
' Use at your own risk: this is an "asynchronous", the execution cannot be stopped by merely pressing the stop button in the VBA interface.
' You might have to do something like put a break marker on the line OnTime line so that next time around, it doesn't respawn itself.
Application.OnTime Now + TimeValue(refreshInterval), "wkbRefresher"
End Sub
Bien sûr, le sous-dessus peut être paramétré et / ou vous pouvez le joindre à un bouton de barre d'outils personnalisé ou quelque chose. Étant donné que l'enregistrement du classeur enregistre les informations d'état de la feuille active, de la cellule active, etc., vous pouvez également inclure quelques lignes pour enregistrer le nom de votre feuille active préférée et le réactiver à chaque fois après une réouverture.
Références:
http://office.microsoft.com/en-us/excel-help/run-a-macro-HP010342865.aspx
http://msdn.microsoft.com/en-us/library/office/ff196165(v=office .14) .aspx
Bien que je n'aie pas tout vérifié, cela semble être une introduction très utile si vous n'avez pas entendu parler de PERSONAL.XLS (B): http://www.rondebruin.nl/win/personal.htm