Personellement, je n'ai pas constaté de déclenchement intempestif du OnUpdate. Y a toujours une action de l'utilisateur à la base y compris comme changer de feuille, d'application, basculer sur le Project VBA, faire un Scroll et un tas d'autres choses.
Je me suis essayé à créer un évènement de changement de format de cellule par l'interface (juste le Bold, la couleur de caractère et la couleur de fond à titre d'essai). Ce qui n'est pas le meilleur moyen puisque c'est bien plus facile de le faire à partir de la Pile des Undo combinée à l'évènement standard de Selection().
L'idée étant que si à l'évènement N+1 du OnUpdate, la Range de Selection est le même qu'à l'évènement N du OnUpdate, alors il faut comparer les formats du Range de Selection à N & N+1 et lancer l'évènement "artificiel" Workbook_SheetChangeFormat() si on trouve une différence.
Alors OK, ça marche mais ce n'est utilisable que dans un UsedRange de 30.000 - 40.000 cellules. Au-delà ça n'est pas très viable si la modification de format touche toutes les cellules.
Et puis le principe ne peut pas s'appliquer au VBA, car même si en modifiant la cellule (valeur ou format) en VBA cela déclenche un évènement OnUpdate, le principe de détection étant basé sur des sélections préalables, celles-ci n'ont pas lieu d'être en VBA quand on change le format d'une cellule par exemple. Et donc on ne peut pas savoir où a eu lieu le changement ni sa nature.