Colorer une cellule à condition qu'il y aitun commentaire

bylka213

XLDnaute Occasionnel
Bonjour tout le monde,

Donc voili voilou, j'aimerais colorer automatiquement les cellule qui possède un commentaire. Jusque là un commentaire ajoute à la cellule dont il fait objet un coin rouge...ce coin rouge me parait pas super visible dans la longue liste que j'ai c'est pour cela que j'aimerais colorer ou encadrer les cellules qui font l'objet de commentaires.


Merci
:D

ps: bien sur je pourrais le faire à la main mais mon tableau est régulièrement modifié car je vais chercher des données dans des sources externes...
 

XL_Luc

XLDnaute Occasionnel
Re : Colorer une cellule à condition qu'il y aitun commentaire

Voilà un petit début mais il ne "décolore" pas les commentaires partis :

Code:
Sub met_en_couleur_commentaires()
For Each co In ActiveSheet.Comments
co.Parent.Interior.ColorIndex = 3
Next
End Sub
 

bylka213

XLDnaute Occasionnel
Re : Colorer une cellule à condition qu'il y aitun commentaire

Merci à vous tous c'est exactement ce que je voulais...je viens de me rendre compte que colorer ne servirait à rien car j'ai deja appliqué une mise en forme conditionnelle sur mes lignes qui color mes ligne une sur 2.

Et donc appliquer n'importe quelle couleur ne changerait rien en apparence car la MEFC prime.

Parcontre je peux encadrer ma cellule car ça c'est visible en même temps que la MEFC.

Code:
Sub met_en_couleur_commentaires()
For Each co In ActiveSheet.Comments
[COLOR="Red"]co.Parent.Interior.ColorIndex = 3[/COLOR]Next
End Sub


dasn ton code Luc je crois que c'est cette ligne qui colorais la cellule crois tu qu'il est possiblle de l'encadrer au même niveau?

merci
 

XL_Luc

XLDnaute Occasionnel
Re : Colorer une cellule à condition qu'il y aitun commentaire

et voila pour entourer en double trait :

Code:
Sub entoure_commentaires()
For Each co In ActiveSheet.Comments
With co.Parent
    .Borders(xlEdgeLeft).LineStyle = xlDouble
    .Borders(xlEdgeTop).LineStyle = xlDouble
    .Borders(xlEdgeBottom).LineStyle = xlDouble
    .Borders(xlEdgeRight).LineStyle = xlDouble
End With
Next
End Sub
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Colorer une cellule à condition qu'il y aitun commentaire

Je ne comprends pourquoi la boucle ?

Code:
    With Cells.SpecialCells(xlCellTypeComments)
      .Borders(xlEdgeLeft).LineStyle = xlDouble
      .Borders(xlEdgeTop).LineStyle = xlDouble
      .Borders(xlEdgeBottom).LineStyle = xlDouble
      .Borders(xlEdgeRight).LineStyle = xlDouble
    End With

JB
 

Pièces jointes

  • Classeur1.xls
    33 KB · Affichages: 50
  • Classeur1.xls
    33 KB · Affichages: 58
  • Classeur1.xls
    33 KB · Affichages: 54
Dernière édition:

bylka213

XLDnaute Occasionnel
Re : Colorer une cellule à condition qu'il y aitun commentaire

Salut BoisGontier

C'est pour encadrer la cellule, j'ai changé d'avis je ne veut plus colorer la cellule. Et là on trace le trait à gauche à droite et ainsi de suite pour faire le contour...Enfin c'est ce que j'ai cru comprendre.

:)
 

XL_Luc

XLDnaute Occasionnel
Re : Colorer une cellule à condition qu'il y aitun commentaire

JB a raison, son code est plus simple et plus rapide que le mien .........
Il utilise une selection spéciale d'Excel à laquelle je n'avais pas pensé et moi une boucle donc mon programme est plus long et surtout plus lent.
 

XL_Luc

XLDnaute Occasionnel
Re : Colorer une cellule à condition qu'il y aitun commentaire

et voilà avec la méthode JB bien meilleure :

Code:
Sub entoure_commentaire()
   With Cells.SpecialCells(xlCellTypeComments)
      .Borders(xlEdgeLeft).LineStyle = xlDouble
      .Borders(xlEdgeTop).LineStyle = xlDouble
      .Borders(xlEdgeBottom).LineStyle = xlDouble
      .Borders(xlEdgeRight).LineStyle = xlDouble
   End With
End Sub
 

Tibo

XLDnaute Barbatruc
Re : Colorer une cellule à condition qu'il y aitun commentaire

Bonjour,

Juste pour info,

j'ai tenté d'utiliser la macro fonction Excel 4 : LIRE.CELLULE avec le paramètre 46 dans le cadre d'une formule nommée.

Ca donne avec un nom : Commentaire (par exemple) et fait référence à : =LIRE.CELLULE(46;A1)

Le paramètre 46 permet normalement de détecter la présence d'un commentaire.

Ensuite, en utilisant ce nom dans une MFC, ça plante Excel (2000) du moins chez moi (testé sur 2 micros).

J'ai déjà utilisé cette fonction LIRE.CELLULE avec d'autres paramètres dans une MFC sans rencontrer de problème.

Si quelqu'un a une explication ou une solution...

Bonne journée à tous

@+