Arrêter un clignotement de texte

Dans l’article Faire clignoter un texte, il était question de faire clignoter un texte sur un formulaire, ou de lui changer de couleur. Tout ça à l’aide de l’événement Sur minuterie (Form_Timer) du formulaire. On m’a posé la question suivante : « comment arrêter l’effet de clignotement lorsqu’on quitte le formulaire » ? Voici la solution..

Principe

Le principe repose sur deux choses :

  • Pour annuler l’effet, il faut annuler la minuterie, ce qui équivaut à définir à 0 son « intervalle minuterie » (la durée en millisecondes entre deux déclenchements du code VBA).
  • Le meilleur moment pour faire ce réglage est sans doute l’événement Sur désactivé du formulaire, qui se produit lorsque le formulaire passe en second plan (par exemple parce qu’on vient d’ouvrir un autre formulaire). Il est intéressant d’utiliser l’événement inverse – Sur activé – pour remettre en place le clignotement quand on revient sur le formulaire de départ.

Le code VBA

Le code VBA n’est pas très compliqué cette fois :

  1. Faites apparaître les propriétés de votre formulaire (celui qui gère une minuterie), onglet Événement.
  2. Cliquez sur les points de suspension à droite de l’événement Sur désactivé, et choisissez Générateur de code.
  3. Faites en sorte que votre événement ressemble à ça :

clignotement_onoff.jpg

Pour que le clignotement reprenne, faites également ceci :

  1. Faites apparaître les propriétés de votre formulaire (celui qui gère une minuterie), onglet Événement.
  2. Cliquez sur les points de suspension à droite de l’événement Sur activé, et choisissez Générateur de code.
  3. Faites en sorte que votre événement ressemble à ça (2000 étant la durée de la minuterie, en millisecondes) :

Pour tester, ouvrez le formulaire avec minuterie, attendez que l’animation se déclenche plusieurs fois, puis ouvrez un autre formulaire…

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *