Partager via


Événement ComboBox.Change (Access)

L'événement Change se produit lorsque le contenu du contrôle spécifié change.

Syntaxe

expression. Changement

Expression Variable qui représente un objet ComboBox .

Remarques

Quand vous tapez un caractère directement dans la zone de texte ou une zone de liste déroulante ou en modifiant la propriété Text du contrôle à l'aide d'une macro ou Visual Basic sont des exemples de cet événement.

Remarque

[!REMARQUE] Définir la valeur d'un contrôle à l'aide d'une macro ou Visual Basic ne déclenche pas cet événement pour le contrôle. Vous devez taper les données directement dans le contrôle, ou définir la propriété Text du contrôle.

Pour exécuter une macro ou une procédure événementielle lorsque cet événement se produit, définissez la propriété OnChange sur le nom de la macro ou sur [Procédure événementielle].

En exécutant une macro ou une procédure événementielle lorsqu’un événement Change se produit, vous pouvez coordonner l’affichage des données entre les contrôles. Vous pouvez également afficher des données ou une formule dans un contrôle et leur résultat dans un autre.

L’événement Change ne se produit pas lorsqu’une valeur change dans un contrôle calculé.

Un événement Change peut provoquer un événement en cascade. Cela se produit lorsqu’une macro ou une procédure événementielle qui s’exécute en réponse à l’événement Change du contrôle modifie le contenu du contrôle ; par exemple, en modifiant un paramètre de propriété qui détermine la valeur du contrôle, comme la propriété Text d’une zone de texte. Pour empêcher qu'un événement en cascade :

  • Évitez, si possible, d'attacher à un contrôle une macro ou une procédure événementielle Change susceptible de modifier le contenu de celui-ci.
  • Évitez de créer deux contrôles ou plus dont les événements Change s’affectent mutuellement ; par exemple, deux zones de texte qui se mettent à jour mutuellement.

La modification des données dans une zone de texte ou une zone de liste déroulante à l’aide du clavier entraîne la survenue d’événements clavier en plus des événements de contrôle comme l’événement Change . Par exemple, si vous vous placez sur un nouvel enregistrement et que vous tapez un caractère ANSI dans une zone de texte de l'enregistrement, les événements suivants se produisent dans cet ordre :

KeyDownKeyPressBeforeInsertChangeKeyUp

Les événements BeforeUpdate et AfterUpdate pour le contrôle de zone de texte ou de zone de liste déroulante se produisent après que vous avez entré les données nouvelles ou modifiées dans le contrôle et que vous avez déplacé vers un autre contrôle (ou que vous avez cliqué sur Enregistrer l’enregistrement dans le menu Enregistrements ), et donc après tous les événements Change pour le contrôle.

Dans les zones de liste modifiable dont la propriété LimitToList est définie sur Oui, l'événement NotInList se produit une fois que vous entrez une valeur qui ne figure pas dans la liste et de tentez de déplacer vers un autre contrôle ou de sauvegarder l'enregistrement. Elle se produit après tous les événements Change de la zone de liste déroulante. Dans ce cas, les événements BeforeUpdate et AfterUpdate de la zone de liste déroulante ne se produisent pas, car Microsoft Access n’accepte pas une valeur qui ne figure pas dans la liste.

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.