formateur informatique

Colorier automatiquement la cellule sélectionnée

Accueil  >  Bureautique  >  Excel  >  Excel Astuces  >  Colorier automatiquement la cellule sélectionnée
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 :


Colorier la cellule choisie

Pour mettre en évidence des informations précises lors de présentations en assemblées, nous proposons de découvrir comment il est possible d'illuminer automatiquement les cellules cliquées sur une feuille Excel.

Colorer automatiquement une cellule au clic dans une feuille Excel

Sur l'exemple illustré par la capture, à chaque fois que l'utilisateur désigne une information en cliquant sur sa cellule, celle-ci ressort automatiquement dans des jeux de couleurs explicitement différents. Et dès qu'il clique sur une autre case, la précédente recouvre ses attributs d'origine pour les céder à la nouvelle cellule mise en lumière.

Classeur Excel à télécharger
Pour la mise en place de cette astuce, nous suggérons d'appuyer l'étude sur un classeur hébergeant des données à faire ressortir. Nous découvrons un tableau d'articles vestimentaires destinés à la vente. Ce tableau est reconnu sous le nom bdd. Vous pouvez le vérifier en déployant la zone Nom en haut à gauche de la feuille Excel.

La mise en forme conditionnelle
Pour faire ressortir en couleur la cellule cliquée par l'utilisateur, la règle de mise en forme conditionnelle doit recouper deux critères grâce à la fonction Et. Elle doit vérifier que la ligne en cours est identique à la ligne de la cellule dans le tableau. Dans le même temps, elle doit vérifier que la colonne en cours est identique à la colonne de la cellule analysée par la règle dans le tableau. Ce sont les fonctions Ligne et Colonne sans arguments, qui renseignent respectivement sur la ligne et la colonne des cellules en cours d'analyse. C'est la fonction Cellule qui peut renseigner sur la ligne ou la colonne de la cellule active sur la feuille.
  • En haut à gauche de la feuille Excel, déployer la zone Nom,
  • Puis, cliquer sur le nom bdd,
Cette action a pour effet de sélectionner l'intégralité des données du tableau.
  • Dans la section Styles du ruban Accueil, cliquer sur le bouton Mise en forme conditionnelle,
  • En bas des propositions, choisir l'option Nouvelle règle,
  • Dans la boîte de dialogue qui suit, sélectionner le type : Utiliser une formule pour...,
  • Puis, cliquer dans la zone de saisie du dessous pour l'activer,
  • Dès lors, taper le symbole égal (=) pour initier la syntaxe de la règle,
  • Inscrire la fonction pour recouper les critères, soit : Et(,
  • Inscrire la fonction sans argument pour l'indice de la ligne de la cellule analysée, soit : Ligne(),
  • Taper le symbole égal (=) pour annoncer le premier critère à honorer,
  • Taper la fonction renseignant sur des attributs de cellule, suivie d'une parenthèse : cellule(,
  • Lui passer l'argument ligne entre guillemets, soit : "ligne",
De cette manière, nous cherchons à obtenir l'indice de la ligne active, soit de celle qui est cliquée sur le tableau Excel. Et cet indice, nous souhaitons le comparer à celui de la cellule en cours d'analyse par la mise enforme conditionnelle. Car rappelons-le, son processus est chronologique. Il débute à partir de la première cellule du tableau pour les passer toutes en revue jusqu'à la dernière.
  • Fermer la parenthèse de la fonction Cellule,
  • Puis, taper un point-virgule (;) pour poursuivre l'énumération des critères dans la fonction Et,
  • Taper la fonction sans argument pour l'indice de colonne de la cellule analysée : Colonne(),
  • Taper le symbole égal (=) pour annoncer le second critère à honorer,
  • Inscrire la fonction des attributs de cellule suivie d'une parenthèse, soit : cellule(,
  • Lui passer l'argument colonne entre guillemets, soit : "colonne",
De cette manière, nous cherchons à obtenir l'indice de la colonne active, soit de celle qui est cliquée sur le tableau Excel. Et cet indice, nous souhaitons le comparer à celui de la cellule en cours d'analyse par la mise enforme conditionnelle.
  • Fermer la parenthèse de la fonction Cellule,
  • Puis, fermer la parenthèse de la fonction Et,
Si ces deux conditions sont honorées, cela signifie que la ligne et la colonne de la cellule en cours d'analyse par la règle sont identiques à celles de la cellule active dans le tableau. En d'autres termes, nous savons qu'il s'agit de la cellule cliquée. Dans ces conditions, nous devons changer ses attributs de format pour la faire ressortir instantanément et explicitement.
  • Cliquer sur le bouton Format en bas à droite de la boîte de dialogue,
  • Dans celle qui suit, activer l'onglet remplissage,
  • Dans la palette de couleurs, choisir un orange pâle pour le fond de la cellule,
  • Activer alors l'onglet Police de la boîte de dialogue,
  • Avec la seconde liste déroulante, choisir un orange foncé pour la couleur du texte,
  • Revenir sur la première boîte de dialogue en cliquant sur le bouton Ok,
  • Puis, cliquer de nouveau sur le bouton Ok pour valider la création de la règle,
De retour sur la feuille, vous notez que la première cellule du tableau se pare des couleurs définies par la règle de mise en forme conditionnelle. Mais malgré ces travaux préliminaires, aux clics sur d'autres cellules dans le tableau, vous constatez qu'aucune mise en lumière n'est réalisée dynamiquement.

Rafraîchir la mise en forme au clic
Ce phénomène est tout à fait logique. Nous l'avions expliqué et compris à l'occasion de formations sur des sujets assez similaires. Le recalcul d'une feuille est entrepris à chaque modification dans une cellule mais pas au changement de sélection occasionné par un clic de l'utilisateur. C'est la raison pour laquelle nous devons configurer un code VBA trivial au changement de sélection. Son rôle est d'ordonner le recalcul de la feuille et par la même occasion donc, de rafraîchir l'action de la règle de mise en forme conditionnelle.
  • Réaliser le raccourci clavier ALT + F11 pour basculer dans l'éditeur VBA Excel,
  • Dans l'explorateur de projet sur la gauche, double cliquer sur l'élément Feuil1(celluleActive),
De cette manière, nous affichons au centre de l'écran la feuille de code VBA associée à la feuille du classeur hébergeant les cellules du tableau à faire réagir au clic de la souris.
  • En haut de cette feuille, déployer la liste déroulante de gauche,
  • Puis, cliquer sur l'objet Worksheet,
Cet objet désigne la feuille. Et cette action a pour effet de créer la procédure événementielle Worksheet_SelectionChange. C'est elle qui réagit dès lors qu'un changement de sélection est opéré et donc qu'une autre cellule est cliquée.

Déclencher un code VBA Excel au clic sur une cellule de la feuille

L'objet Target qui lui est passé en paramètre est très important. Il désigne précisément la cellule cliquée. C'est grâce à lui que nous allons pouvoir limiter le champ d'action de ce gestionnaire pour n'intervenir que lorsque la cellule cliquée appartient bien aux bornes du tableau qui est reconnu sous le nom bdd.
  • Dans cette procédure, ajouter l'instruction conditionnelle suivante :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect([bdd], Target) Is Nothing Then

End If

End Sub


La méthode Intersect de l'objet Application permet de savoir s'il existe des cellules communes à plusieurs plages passées en paramètres. La première plage est celle du tableau (bdd). La seconde (Target) représente simplement la cellule cliquée. Grâce à la double négation (Not...Is Nothing), nous cherchons donc à savoir si la cellule cliquée appartient bien au tableau.

Si cette condition est vérifiée, nous devons forcer le recalcul de la feuille pour dans ce cas précis, forcer la règle de mise en forme conditionnelle à s'actualiser.
  • Dans les bornes de l'instruction conditionnelle, ajouter la ligne VBA suivante :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect([bdd], Target) Is Nothing Then
Application.Calculate
End If
End Sub


C'est eneffet la méthode Calculate de l'objet Application qui permet d'entreprendre ce recalcul intégral.
  • Enregistrer les modifications (CTRL + S) et revenir sur la feuille Excel (ALT + Tab),
Désormais, à chaque fois que vous cliquez sur une cellule du tableau, elle est mise en évidence instantanément par les attributs définis par la règle de mise en forme conditionnelle.

Colorier automatiquement la cellule cliquée dans un tableau Excel

C'est en effet la fonction Cellule qui est forcée par le VBA à recalculer les indices de ligne et de colonne de la cellule active sur la feuille, pour les comparer à ceux des cellules du tableau. Lorsque les égalités sont trouvées, la cellule concernée est impactée.

 
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