formateur informatique

Colorier l'enregistrement cliqué sur un formulaire Access

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Colorier l'enregistrement cliqué sur un formulaire Access
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    Vidos astuces Instagram
Sujets que vous pourriez aussi aimer :


Colorier l'enregistrement actif

Cette nouvelle astuce Access montre comment surligner la ligne de l'enregistrement cliqué sur un formulaire tabulaire. L'objectif est évident. Dans un jeu de données compact, il s'agit de faire ressortir visuellement pour l'audience, l'enregistrement étudié.

Colorier automatiquement la ligne sélectionnée sur un formulaire tabulaire Access

Sur l'exemple finalisé illustré par la capture, à chaque clic sur un élément d'une ligne, c'est tout l'enregistrement concerné qui est mis en valeur par une couleur de fond rouge foncé.

Source et procédure
Pour la mise en place de cette technique, nous proposons de récupérer les travaux que nous avions avancés à l'occasion de l'astuce précédente. Sur un formulaire tabulaire, elle avait consisté à filtrer les enregistrements en fonction de choix émis par le biais de deux listes déroulantes reliées entre elles.
  • Télécharger le fichier surligner-enregistrement-actif.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é,
  • Dans le volet de navigation, double cliquer sur le formulaire f_source pour l'exécuter,
  • Avec la première liste déroulante, choisir un département,
  • Avec la seconde liste déroulante, choisir une ville associée,
Comme vous pouvez le voir, à chaque choix, l'extraction s'ajuste dans le formulaire pour offrir uniquement les enregistrements correspondant aux critères. Mais à ce stade bien sûr, si vous cliquez sur l'un des enregistrements extraits, rien ne se produit. La ligne n'est pas mise en valeur. C'est tout l'enjeu de cette astuce.
  • En haut à gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste, choisir le mode Création,
Nous basculons ainsi dans la vue en conception du formulaire. La zone Détail héberge les trois champs décrivant chaque enregistrement extrait. Dans l'entête du formulaire, en haut à droite de la zone grisée, vous notez la présence d'une zone de texte. Pourtant, elle n'était pas visible en exécution.
  • Cliquer sur cette zone pour la sélectionner,
  • Puis, activer l'onglet Format de sa feuille de propriétés,
Zone de texte masquée sur formulaire Access par propriété Visible

Comme vous pouvez le voir, le nom de cette zone est Actif. De plus, sa propriété Visible est réglée sur Non. C'est elle qui doit servir à prélever le numéro de la ligne cliquée pour déclencher ensuite une règle de mise en forme conditionnelle destinée à faire surgir l'enregistrement complet.
  • Double cliquer sur la valeur Non de sa propriété Visible,
Nous la basculons ainsi sur l'état opposé. Elle sera visible le temps du développement pour bien comprendre le mécanisme. Puis, nous la masquerons de nouveau à l'issue.

Prélever la valeur de la ligne cliquée
C'est une routine VBA élémentaire qui permet de résoudre le noeud du problème. Elle doit prélever l'identifiant du premier champ pour l'enregistrement cliqué afin de l'inscrire dans la zone de texte nommée Actif. Mais pour que ce code VBA fonctionne, il doit être déclenché sur un événement précis. Cet événement correspond à l'activation du formulaire. Ce dernier est activé à chaque fois qu'il subit un clic.
  • Cliquer sur le petit carré gris tout à fait en haut à gauche du formulaire,
Sélectionner le formulaire Access en mode conception pour gérer ses événements et propriétés

Cette méthode permet de le sélectionner intégralement pour le désigner explicitement.
  • Dès lors, activer l'onglet Evénement de sa feuille de propriétés,
  • Cliquer dans la zone vide de son événement Sur activation,
  • Puis, cliquer sur le petit bouton à trois points à son extrémité droite,
  • Dans la boîte de dialogue qui suit, choisir Générateur de code et valider par le bouton Ok,
De fait, nous basculons dans l'éditeur Visual Basic Access entre les bornes de la procédure événementielle Form_Current. Son code se déclenchera à chaque activation, donc à chaque clic sur un enregistrement extrait.
  • Entre les bornes de cette procédure, ajouter l'instruction VBA suivante :
Private Sub Form_Current()
Me.Actif = Me.s_id
End Sub


Me désigne l'objet parent soit le formulaire. Cette simple correspondance doit permettre d'inscrire dans la zone de texte nommée Actif, la valeur du champ s_id pour l'enregistrement cliqué. Il s'agit du premier champ restitué, celui de la clé primaire. C'est implicitement que nous pointons sur la valeur de l'un et l'autre champs. Il s'agit de la propriété associée par défaut. C'est la raison pour laquelle nous ne précisons pas cette propriété explicitement. Le VBA est définitivement permissif.
  • Enregistrer les modifications (CTRL + S) puis fermer l'éditeur VBA Access,
  • De retour sur le formulaire, l'enregistrer à son tour,
  • L'exécuter à l'aide de la touche F5 du clavier,
  • Sélectionner un département à l'aide de la première liste puis une ville à l'aide de la seconde,
  • Dès lors, cliquer sur la ligne de l'un des enregistrements restitués,
Récupérer la valeur de l-enregistrement cliqué sur un formulaire Access tabulaire grâce au code VBA

Comme vous le constatez, à chaque clic, le numéro de clé primaire de l'enregistrement cliqué est parfaitement restitué dans la zone de texte, autrefois masquée, grâce à une triviale instruction VBA Access. C'est cette correspondance de numéros qui doit aider à construire la règle de mise en forme conditionnelle pour surligner l'enregistrement complet.

Surligner l'enregistrement cliqué
Le plus dur est donc fait. Désormais, la règle de mise en forme doit vérifier l'égalité entre la valeur portée par la zone nommée Actif et les numéros des enregistrements extraits dans le formulaire. Lorsque la correspondance est établie, une mise en valeur explicite doit être déclenchée.
  • En haut à gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste des propositions, choisir le mode Création,
  • Sélectionner la zone de texte Actif en haut à droite du formulaire,
  • Activer l'onglet Format de sa feuille de propriétés,
  • Double cliquer sur la valeur Oui de sa propriété Visible pour la basculer à Non ,
  • Cliquer sur la règle verticale de la zone Détail en regard des champs,
Sélectionner tous les champs du formulaire Access avec un seul clic sur la règle verticale

Cette action a pour effet de les sélectionner tous. La règle de mise en forme conditionnelle les concerne tous pour que la ligne entière puisse être mise en valeur.
  • En haut à droite de la fenêtre Access, cliquer sur l'onglet Format pour activer son ruban,
  • Dans la section Contrôler la mise en forme, cliquer sur Mise en forme conditionnelle,
  • Dans la boîte de dialogue qui suit, cliquer sur le bouton Nouvelle règle,
  • Avec la première liste déroulante, choisir l'option Expression,
En effet, il s'agit d'une expression de correspondance à bâtir avec une formule.
  • Dans la zone vierge sur la droite, inscrire l'expression suivante : [s_id]=[Actif],
A l'instar d'Excel, la mise en forme conditionnelle va parcourir toutes les lignes du formulaire tabulaire. Lorsque la correspondance entre ces deux champs sera établie, une mise en valeur spécifique doit se déclencher. Et comme tous les champs ont été sélectionnés, ils seront tous impactés.
  • Avec le pot de peinture, choisir un rouge foncé pour la couleur de fond,
  • Avec le bouton sur sa droite, choisir un gris très clair pour la couleur du texte,
  • Cliquer ensuite sur le bouton G pour appliquer un style gras à la ligne sélectionnée,
Réglage conditionnel de couleur pour repérer enregistrement actif sur formulaire tabulaire Access

La zone Aperçu vous permet d'apprécier instantanément les réglages ainsi définis.
  • Cliquer sur le bouton Ok pour valider la création de la règle de mise en forme conditionnelle,
  • De retour sur la première boîte de dialogue, cliquer de nouveau sur le bouton Ok,
  • De retour sur le formulaire, l'enregistrer avec le raccourci clavier CTRL + S,
  • Puis, l'exécuter avec la touche F5 du clavier,
  • Choisir un département avec la première liste déroulante et une ville associée avec la seconde,
  • Dès lors, cliquer sur l'une des lignes des enregistrements restitués,
Surligner et colorier automatiquement la ligne sélectionnée sur un formulaire tabulaire Access

Instantanément, c'est bien l'enregistrement complet qui surgit et qui est intégralement mis en valeur. Dans une prochaine astuce, toujours sur la base de cette application, nous verrons comment fournir le résultat de synthèse sur le nombre d'enregistrements extraits.

 
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