formateur informatique

Changer l'aspect des zones du formulaire au survol

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Changer l'aspect des zones du formulaire au survol
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Aspect des contrôles au survol

Dans une précédente astuce, nous avons découvert la technique permettant d'influer très facilement sur l'aspect graphique des boutons d'un formulaire au survol de la souris. Et pour cela, il nous avait suffi de régler quelques propriétés prévues à cet effet.

Changer aspect graphique des contrôles de formulaire Access au survol de la souris

Dans ce nouveau volet et comme le démontre la capture ci-dessus, nous souhaitons agir sur l'aspect des contrôles du formulaire, autres que les boutons. Qu'il s'agisse d'une zone de texte ou d'une liste déroulante, le contrôle concerné se pare d'un fond jaune au passage de la souris. Et comme il ne s'agit pas naturellement d'objets d'action, nous allons le voir, les propriétés précédemment utilisées ne sont plus disponibles. L'astuce consiste à contourner la limitation grâce aux macros.

Source et procédure
Pour la démonstration, nous suggérons de récupérer la précédente petite base de données avec ces réglages dynamiques déjà en place sur les boutons.
  • Télécharger le fichier survol-controles.rar en cliquant sur ce lien,
  • Le décompresser dans le dossier de votre choix,
  • Double cliquer sur le fichier résultant pour l'ouvrir dans Access,
  • Cliquer sur le bouton Activer le contenu du bandeau de sécurité,
Comme l'indique le volet de navigation sur la gauche de l'écran, cette petite base de données n'est constituée que d'une table et d'un formulaire.
  • Dans ce volet de navigation, double cliquer sur le formulaire f_ajout pour l'exécuter,
  • Pointer alors sur l'un et l'autre bouton à l'aide de la souris,
Comme vous pouvez le voir, chaque bouton change d'aspect au passage du curseur de la souris. Et chaque bouton recouvre son aspect initial dès lors que la souris s'échappe de la zone d'influence.

Changement de couleur des boutons du formulaire Access au passage de la souris

En revanche et à ce stade, si vous survolez les autres contrôles du formulaire, rien ne se produit. C'est tout l'enjeu de cette nouvelle astuce. La zone de texte, comme chacune des trois listes déroulantes, doivent changer d'apparence au passage du pointeur.

Macro pour modifier les propriétés
Les macros Access permettent d'influer sur certaines propriétés des contrôles de formulaire. Ces changements doivent être opérés au survol de la souris. Cet événement est naturellement géré par Access et ce, pour n'importe quel objet.
  • Tout à fait à gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste des propositions, choisir le mode création,
  • Sur le formulaire en conception, cliquer sur le bouton Ajouter pour le sélectionner,
Si la feuille de propriétés est absente, vous devez l'afficher en cliquant sur le bouton du même nom dans le ruban contextuel Création.
  • Activer alors l'onglet Format de la feuille de propriétés,
Propriétés de boutons Access pour changer les couleurs au passage de la souris

Vous notez la présence notamment des propriétés Couleur sélectionnée par pointage et Couleur texte sélectionnée par pointage. Ce sont ces deux attributs que nous avons réglés lors de l'astuce précédente pour créer des effets graphiques dynamiques, au survol de la souris.
  • Cliquer désormais sur la zone de texte située juste au-dessus,
Les propriétés de format sont nombreuses. Mais aucune ne permet de définir des jeux de couleurs dynamiques comme c'est le cas pour les boutons. Et vous pouvez constater qu'il en va de même pour les listes déroulantes, si vous sélectionnez l'une d'entre elles. La feuille de propriétés renseigne également sur les noms des objets sélectionnés. Les trois contrôles que nous devons paramétrer par macro sont nommés respectivement : rs, dep, villes et activites.
  • Cliquer de nouveau sur la zone de texte nommée rs pour la sélectionner,
  • Activer alors l'onglet Evénement de sa feuille de propriétés,
  • Cliquer ensuite dans la zone vide de son événement Sur souris déplacée,
  • Dès lors, cliquer sur le petit bouton qui se propose à l'extrémité droite,
  • Dans la boîte de dialogue qui suit, choisir Générateur de macro et valider par Ok,
Déclencher une macro Access lorsque la souris se déplace au-dessus de la zone de texte

Nous basculons ainsi dans l'éditeur de macro Access.
  • Avec la liste déroulante, choisir l'action DéfinirPropriété,
  • Dans la zone Nom du contrôle, désigner la zone de saisie par son nom, soit : rs,
  • Dans la zone Propriété, choisir l'attribut Couleur fond,
  • Dans la zone Valeur, entrer le code hexadécimal suivant : #FFFF00,
Changer la couleur de fond au passage de la souris par action de macro Access

Ce code hexadécimal correspond à un jaune vif.
  • En haut de la fenêtre Access, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
  • De retour sur le formulaire, l'enregistrer à son tour (CTRL + S),
  • Puis, l'exécuter avec la touche F5 du clavier par exemple,
  • Déplacer alors la souris sur la zone de saisie,
Changement automatique de la couleur de la zone de texte Access au déplacement de la souris

Comme vous le constatez, sa couleur de fond réagit instantanément. En revanche, si vous placez le pointeur de la souris en dehors de la zone de texte, celle-ci ne retrouve pas son aspect initial. Ce phénomène est pour l'instant tout à fait normal. Nous aborderons l'astuce permettant de corriger ce défaut en temps voulu. Tout d'abord, il s'agit de configurer les trois listes déroulantes exactement de la même façon.
  • Revenir en mode conception du formulaire,
  • Sélectionner la première liste déroulante nommée dep,
  • Cliquer dans la zone de sa propriété Sur souris déplacée,
  • Cliquer sur le petit bouton à l'extrémité droite,
  • Dans la boîte de dialogue, choisir Générateur de macro et cliquer sur le bouton Ok,
  • Dans l'éditeur de macro, déployer la liste déroulante,
  • Choisir l'action DéfinirPropriété,
  • Dans la zone Nom du contrôle, inscrire l'intitulé dep,
  • Avec la liste déroulante de la zone Propriété, choisir Couleur fond,
  • Dans la zone Valeur, saisir le même code que précédemment, soit : #FFFF00,
  • Dans le ruban, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
  • De retour sur le formulaire, l'enregistrer à son tour,
Désormais, il s'agit de reproduire exactement le même protocole pour les listes déroulantes nommées villes et activites. Il est donc question d'adapter les intitulés en conséquence dans la zone Nom du contrôle.

Réinitialiser l'aspect des contrôles
Pour annuler la couleur de fond lorsque la souris quitte la zone d'influence du contrôle concerné, il n'existe pas d'événement dédié. L'astuce consiste à reprogrammer ces couleurs, toujours par macro, mais lorsque la souris bouge sur les rectangles en dessous des contrôles, donc en dehors des zones concernées.
  • Sur le formulaire en conception, cliquer sur le rectangle gris qui encadre la zone de texte,
Sélectionner le cadre derrière la zone de texte Access à faire réagir au déplacement de la souris

Bien qu'il s'agisse d'un simple rectangle, il propose lui aussi l'événement que nous avons précédemment exploité.
  • Cliquer sur le petit bouton de son événement Sur souris déplacée,
  • Choisir Générateur de macro et valider par Ok,
Réinitialiser les couleurs des contrôles du formulaire Access lorsque la souris sort de la zone des champs

L'action DéfinirPropriété doit être enclenchée à quatre reprises pour chacun des contrôles à réinitialiser : rs, dep, villes et activites. Le code #FEFBF8 correspond à un gris très clair qui est la couleur attribuée par défaut à ces quatre contrôles.
  • Dès lors enregistrer et fermer la macro,
  • Enregistrer le formulaire et l'exécuter,
  • Déplacer la souris sur la zone de texte puis la sortir ensuite de la zone d'influence,
Comme vous le constatez, le contrôle se pare tout d'abord d'un fond jaune qui est réinitialisé à la couleur d'origine lorsque la souris sort de la zone de saisie en se déplaçant sur le rectangle du dessous. Pour parachever la solution, en mode conception, il convient de programmer exactement le même enchaînement de ces quatre actions sur l'événement Sur souris déplacée, pour le premier rectangle placé sous les trois listes déroulantes.

Bien sûr et pour plus de sureté, ce principe peut être étendu sur la zone du formulaire. En effet, si vous sortez très vite de la zone de saisie vers le bas, l'événement du second rectangle n'a pas le temps de se déclencher. De fait, la couleur jaune persiste.

Ce mécanisme est absolument dédié à une application d'évaluation par Qcm. Ainsi, chaque choix pointé avec la souris est automatiquement mis en valeur.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn