formateur informatique

Colorier automatiquement les cellules des commentaires

Accueil  >  Bureautique  >  Excel  >  Excel VBA  >  Colorier automatiquement les cellules des commentaires
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 :


Surligner les cellules des commentaires

Depuis la version 2019, Excel fait la différence entre les commentaires et les notes. Les commentaires (CommentThreaded) peuvent s'apparenter à des échanges dans le cadre d'un travail collaboratif. Les notes (Comment) sont les anciens commentaires. En VBA, on ne les pilote pas de la même façon.

Surligner en couleur les notes et les commentaires dans un tableau Excel avec le VBA

Sur l'exemple illustré par la capture, nous travaillons sur un calendrier. Certes les jours de Week-End sont déjà marqués en bleu. Mais vous constatez de même que les commentaires sont repérés automatiquement en orange tandis que les notes surgissent plus discrètement dans un vert pâle. En effet, nous jugeons que les commentaires reflètent des actions importantes à entreprendre tandis que les notes représentent des tâches de priorité mineure.

Pour réaliser ce repérage intéressant et utile, ce sont deux toutes petites fonctions VBA Excel qui sont engagées dans deux règles de mise en forme conditionnelle.

Classeur Excel à télécharger
Pour développer ces deux fonctions et aboutir cette solution, nous suggérons de baser les travaux sur ce calendrier déjà préparé.
  • Télécharger le classeur colorier-commentaires.xlsm en cliquant sur ce lien,
  • Cliquer droit sur le fichier réceptionné,
  • En bas du menu contextuel, choisir la commande Propriétés,
  • En bas de la boîte de dialogue, cocher la case Débloquer et valider par Ok,
  • Double cliquer ensuite sur le fichier déverrouillé pour l'ouvrir dans Excel,
Nous retrouvons effectivement le calendrier des douze mois de l'année avec les jours de Week-End différenciés en bleu. A ce stade en revanche, les notes et les commentaires ne recouvrent aucune couleur. Mais une petite encoche placée en haut à droite de certaines cases mettent en évidence les notes. Pour les commentaires, c'est une encoche violette, plus grande.

Notes et commentaires dans des cellules Excel repérés avec des encoches

Créer les fonctions
Nous devons commencer par créer les deux fonctions dans un module. Il s'agit nécessairement de fonctions booléennes. Elles doivent en effet tester si la cellule sur laquelle elles sont appliquées, porte une note ou un commentaire. Cette cellule doit donc être déclarée en paramètre de chacune.
  • 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 Module1,
Nous avions anticipé pourqu'il existe déjà. Désormais, la feuille de code de ce module, vierge pour l'instant, apparaît au centre de l'écran.
  • Dans cette feuille, créer les fonctions EstCom et EstNote, comme suit :
Function EstCom(cellule As Range) As Boolean

End Function

Function EstNote(cellule As Range) As Boolean

End Function


Tester la cellule
Ensuite, ce sont les objets enfants CommentThreaded et Comment d'un objet de cellule, qui représentent respectivement un commentaire et une note. Nous devons donc les exploiter sur la cellule passée en paramètre pour savoir si l'un ou l'autre existe.
  • Dans la procédure EstCom, ajouter les instructions VBA suivantes :
...
Application.Volatile
EstCom = Not cellule.CommentThreaded Is Nothing
...


Tout d'abord, la méthode Volatile de l'objet Application permet de forcer le recalcul dès qu'une cellule de la feuille est modifiée. Puis, si le commentaire n'est pas rien (double négation : Not Is Nothing), nous en déduisons qu'il existe et nous retournons une valeur de succès (True), dans le nom même de la fonction (EstCom), comme il est de coutume en VBA.

La technique est identique pour tester la présence d'une note. C'est l'objet enfant qui change.
  • Dans la fonction EstNote, ajouter les instructions VBA suivantes :
...
Application.Volatile
EstNote = Not cellule.Comment Is Nothing
...


Repérer les notes et les commentaires
Il est temps désormais d'exploiter ces deux nouvelles fonctions dans des règles de mise en forme conditionnelle, pour repérer ces cellules particulières. Comme vous le savez, pour que ces fonctions soient disponibles pour toutes les utilisations, il convient de les enregistrer dans la bibliothèque d'Excel.
  • Revenir sur la feuille Excel (ALT+ Tab),
  • Sélectionner toutes les cellules du calendrier, soit la plage B4:M34,
  • 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, choisir le type : Utiliser une formule pour...,
  • Cliquer dans la zone de saisie du dessous pour l'activer,
  • Puis, construire la syntaxe suivante : =EstCom(B4),
Comme vous le savez, l'étude d'une règle de mise en forme conditionnelle est chronologique, par rapport à l'ensemble des cellules sélectionnées. C'est pour cela que nous la faisons débuter sur la première d'entre elles (B4 à ne surtout pas figer). A chaque fois que cette nouvelle fonction répondra positivement, nous saurons que la cellule en cours d'analyse porte un commentaire. Dans ces conditions, nous devons la faire ressortir explicitement du lot.
  • Pour cela, cliquer sur le bouton Format en bas de la boîte de dialogue,
  • Dans celle qui suit, activer l'onglet Remplissage,
  • Dans la palette de couleurs, choisir un jaune orangé pour le fond de la cellule,
  • Dès lors, activer l'onglet Police de la boîte de dialogue,
  • Cliquer sur le style Gras dans la liste du centre,
  • Avec la liste déroulante du dessous, choisir un jaune très foncé pour la couleur du texte,
  • Puis, valider ces attributs en cliquant sur le bouton Ok,
Nous sommes ainsi de retour sur la première boîte de dialogue qui résume comment réagiront les cellules portant des commentaires.

Faire ressortir les commentaires en couleur avec une fonction VBA Excel dans une mise en forme conditionnelle

Maintenant, si vous validez la création de cette règle par le bouton Ok, vous avez le plaisir de constater que toutes les cellules des commentaires sont effectivement repérées dans les attributs que nous avons définis.

Repérer les notes en couleur avec une fonction VBA Excel dans une mise en forme conditionnelle

Bien sûr, pour repérer les notes, sur la même plage de cellules du calendrier, il convient de bâtir une seconde règle de mise en forme, impliquant cette fois la nouvelle fonction EstNote, avec d'autres attributs de couleurs personnalisés.

Si vous ajoutez un commentaire ou une note dans une cellule du calendrier, celle-ci ne réagit pas automatiquement. En effet, ces actions n'engagent pas de modifications à proprement parler, comme le ferait une saisie. Mais si vous enfoncez la touche F2 du clavier pour activer la saisie d'une cellule et que vous validez par la touche Entrée, vous remarquez que les couleurs s'appliquent aux nouvelles cellules des commentaires.

 
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