Je ne sais pas si il y a moyen directement de tester le fait que le fichier ai déja été ouvert ce jour... par contre tu peux passer par une feuille "cachée" qui contiendrait tes données :
A chaque ouverture du fichier, tu éxecute une macro qui se présenterait comme :
'1 je choisis et retire le tag "caché" de la feuille cachée
Sheets('FeuilleCachée').SelectSelectedSheet.Hidden= false
'2 si la date enregistrée n'est pas celle du jour
if cells(1,1) <> DateTime.Date()
'3 execution de la macro complète
'ici, ton code... ...
'4 j'enregistre la date d'aujourd'hui
Sheets('FeuilleCachée').Select Cells(1,1).Select
SelectedCells.Value = DateTime.Date()
end if
'5 je recache ma feuille.
SelectedSheet.Hidden = true
PS : Ceci est un code "de principe" je ne suis plus sûr des noms exacts des fonctions... il me semble que c'est ca, et ca devrait t'aider a mettre en oeuvre la solution avec un ptit peu de recherche ;)
en esperant que ca t'aide a faire ce que tu désire ( --> réponse acceptée? )