Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Événement Calculate & modification sur feuille

1 réponse
Avatar
Stéphan DuQuébec
Il m'arrive de penser que je progresse.....il m'arrive aussi de constater que
je régresse !!!!! enfin, voilà pour la partie psychologique de ma question.

Dans un classeur, j'ai une feuille dont les valeurs de quelques cellules
(dont D20) ne peuvent être modifiées que par calculs automatisés de données
issues d'autres feuilles. Je tente d'attribuer la fonction "Now" à une
cellule en particulier (E22) en interceptant l'événement Calculate plutôt que
Change et ce, afin de noter à l'utilisateur la date de la dernière
modification.

Suis-je seulement sur la bonne voie avec Calculate ?

Que devrais-je changer dans cette procédure pour voir des résultats
intéressants :

Private Sub Worksheet_Calculate()
Dim DateModif
DateModif = Now
Application.EnableEvents = False
Sheets("2005").Select
Range("E22").Select
ActiveCell.Value = Format(DateModif, "Le " & "dddd dd mmmm yyyy")
Application.EnableEvents = True
End Sub

Merci.

1 réponse

Avatar
Patrick Fredin
Bonjour,

Et qu'est-ce qui déclenche le calcul ? Il faut qu'à un moment Excel fasse un
recalcul.

Sinon, pour aller plus vite, tu peux écrire :

Sheets("2005").Range("E22") = DateModif

... et mettre "Le dddd dd mmmm yyyy" comme format de la cellule.


--
Patrick


"Stéphan DuQuébec" wrote:

Il m'arrive de penser que je progresse.....il m'arrive aussi de constater que
je régresse !!!!! enfin, voilà pour la partie psychologique de ma question.

Dans un classeur, j'ai une feuille dont les valeurs de quelques cellules
(dont D20) ne peuvent être modifiées que par calculs automatisés de données
issues d'autres feuilles. Je tente d'attribuer la fonction "Now" à une
cellule en particulier (E22) en interceptant l'événement Calculate plutôt que
Change et ce, afin de noter à l'utilisateur la date de la dernière
modification.

Suis-je seulement sur la bonne voie avec Calculate ?

Que devrais-je changer dans cette procédure pour voir des résultats
intéressants :

Private Sub Worksheet_Calculate()
Dim DateModif
DateModif = Now
Application.EnableEvents = False
Sheets("2005").Select
Range("E22").Select
ActiveCell.Value = Format(DateModif, "Le " & "dddd dd mmmm yyyy")
Application.EnableEvents = True
End Sub

Merci.