XL 2016 Différence entre les événements BeforeUpdate et Exit

dodineau

XLDnaute Occasionnel
bonjour,
Sur un Textbox, quelqu'un peut-il m'expliquer la différence entre ces 2 événements, j'ai l'impression qu'ils sont identiques ?

Merci.
A+
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

BeforeUpdate = Avant mise à jour de la valeur du contrôle
Exit = sortie du contrôle.

Utiliser la touche magique F1 sur beforeUpdate nous donne ceci:
BeforeUpdate, événement

Lien supprimé Lien supprimé Lien supprimé Lien supprimé

Survient avant la modification des données dans un contrôle.

Syntaxe

Private Sub
object_BeforeUpdate( ByVal Cancel As MSForms.ReturnBoolean)

La syntaxe de l'événement BeforeUpdate comprend les éléments suivants :

ÉlémentDescription
objectObjet valide.
CancelÉtat de gestion d'événement. False indique que le contrôle doit gérer l'événement (par défaut). True annule la mise à jour et indique que l'application doit gérer l'événement.


Remarques

L'événement BeforeUpdate se déclenche, que le contrôle soit Lien supprimé ou non dépendant (c'est-à-dire, lorsque la propriété RowSource spécifie une Lien supprimé pour le contrôle). Cet événement se déclenche avant les événements AfterUpdate et Exit pour le contrôle actif (et avant l'événement Enter pour le contrôle qui reçoit le Lien supprimé ).

Si vous affectez la valeur True à l'argument Cancel, le focus reste sur le contrôle et aucun des événements AfterUpdate et Exit ne se déclenche.

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Normal puisqu'il se suivent, d'abord beforeUpdate, AfterUpdate et enfin Exit.
L'avantage avec BeforeUpdate, c'est qu'on peut annuler la prise en compte des modifications en mettant le paramètre 'Cancel' de l'évènement à True.

Le moteur VBA émet les événements les un après les autres (Que vous les traitiez ou non), regarde dans votre code si vous avez un 'Gestionnaire d’événement' particulier pour l'événement émis (votre macro TextBox_BeforeUpdate par exemple) fait le traitement du gestionnaire puis passe à l’événement suivant dans la chaîne des événements.

L'aide Microsoft n'est pas très facile à lire, mais chaque phrase à son importance:
"Si vous affectez la valeur True à l'argument Cancel, le focus reste sur le contrôle et aucun des événements AfterUpdate et Exit ne se déclenche. "

Si vous n'avez pas besoin de cette possibilité d'annuler la mise à jour, conserver le gestionnaire d'évènement Exit.

Cordialement
 

Discussions similaires

Réponses
19
Affichages
571

Statistiques des forums

Discussions
311 732
Messages
2 081 995
Membres
101 857
dernier inscrit
mt60400