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

  • Initiateur de la discussion Initiateur de la discussion dodineau
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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+
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
237
Réponses
4
Affichages
439
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
278
Retour