Tester la couleur

lucieaup -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrais afficher une valeur dans une cellule en fonction de la couleur d'une autre. je m'explique, sur ma colonne Ae, j'ai une mise en forme conditionelle qui me colore la cellule si jamais la valeur apparait plusieur fois dans la colonne (highlight duplicate). Si AE1 est colorée, je voudrais que CN1 soit égal à 0 sinon que la valeur de x1 s'affiche.

j'ai essayé avec un VBA du genre :
#Function testr(cellule As Range, color As Integer) As Boolean
test = cellule.Interior.ColorIndex = color
End Function

ou

Function gras(cellule As Range) As Boolean
gras = cellule.Font.Bold = True
End Function



COmme je ne trouvais pas la couleur j'ai essayé de mettre en gras le highlight duplicate value mais ca ne marche pas non plus.

J'ai essayé avec une fonction if : if (AE=isbold);0;X1) .

Est ce que quelqu'un pourrait m'aider svp?


Merci beaucoup




A voir également:

5 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
si vous avez une condition pour la mise en forme conditionnelle, pourquoi ne pas appliquer la même pour votre cellule CN1?
crdlmnt
0
Maurice
 
bonjour

Pour moi sur une forme conditionelle on ne peux pas lire le code couleur en vba

A+
Maurice
0
Maurice
 
Re

Je me suis tromper Dur
pour trouver la couleur de la forme conditionelle

Sub test1()
MsgBox Range("AE1").FormatConditions(1).Interior.ColorIndex
End Sub

A+
Maurice
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

@ Maurice : non, ça te donne la couleur choisie, mais ça ne te dit pas si elle est appliquée.

C'est très compliqué de récupérer la couleur appliquée par une MFC alors qu'il est si simple d'utiliser la même condition qu'elle :
    If Application.CountIf([A:A], [A2]) > 1 Then
Stop
End If

eric


En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0