job75
XLDnaute Barbatruc
Bonjour le forum,
Qu'est-ce qu'une fonction volatile ? J'ai interrogé l'IA Copilote et il ne m'a pas donné de réponse pertinente, il faut donc mettre les choses au point.
A. Dans les anciennes versions Excel on pouvait définir une fonctions volatile (AUJOURDHUI() MAINTENANT() INDIRECT() ALEA() etc...) comme suit :
1) elle se recalcule quand on ouvre le fichier où elle se trouve
2) elle se recalcule quand la valeur d'une cellule quelconque (donc éventuellement dans un autre fichier ouvert) est modifiée
3) en conséquence la propriété Saved du fichier où elle se trouve prend la valeur False => affichage d'une invite à la fermeture même sans autre modification.
B. Dans les versions Excel récentes (savez-vous depuis quand ?) Microsoft a fait en sorte que le phénomène du point 1) n'entraîne plus le point 3).
Pour illustrer tout cela voyez le fichier joint et ce code dans ThisWorkbook :
A partir de la 2ème ouverture la propriété Saved garde la valeur True (Vrai).
A+
Qu'est-ce qu'une fonction volatile ? J'ai interrogé l'IA Copilote et il ne m'a pas donné de réponse pertinente, il faut donc mettre les choses au point.
A. Dans les anciennes versions Excel on pouvait définir une fonctions volatile (AUJOURDHUI() MAINTENANT() INDIRECT() ALEA() etc...) comme suit :
1) elle se recalcule quand on ouvre le fichier où elle se trouve
2) elle se recalcule quand la valeur d'une cellule quelconque (donc éventuellement dans un autre fichier ouvert) est modifiée
3) en conséquence la propriété Saved du fichier où elle se trouve prend la valeur False => affichage d'une invite à la fermeture même sans autre modification.
B. Dans les versions Excel récentes (savez-vous depuis quand ?) Microsoft a fait en sorte que le phénomène du point 1) n'entraîne plus le point 3).
Pour illustrer tout cela voyez le fichier joint et ce code dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
Application.OnTime 1, Me.CodeName & ".Macro"
End Sub
Sub Macro()
MsgBox "Valeur de la propriété Saved = " & Me.Saved
End Sub
A+