OVH Cloud OVH Cloud

couleur de remplissage

10 réponses
Avatar
fab7491
Je voudrais créer une formule conditionnelle du type si la couleur de
la case A1 est rouge alors mettre 1 dans la case A2, sinon mettre 0.
En fait je ne sais pas comment indiquer à Excel dans ma formule la
proposition "la couleur de remplissage de la case A1 est rouge"
Merci

10 réponses

Avatar
Philippe.R
Bonsoir fab,
Ce n'est pas directement possible de vérifier des couleurs par formule.
Il existe sur excelabo une procédure VBA pour compter des couleurs qui peut être adaptée.
http://www.excelabo.net/xl/formats.php#additionrouge
Il est généralement beaucoup plus intéressant d'utiliser la mise en forme conditionnelle pour obtenir la
couleur et de contrôler parallèlement la réalisation de la condition.
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"fab" a écrit dans le message de
news:
Je voudrais créer une formule conditionnelle du type si la couleur de
la case A1 est rouge alors mettre 1 dans la case A2, sinon mettre 0.
En fait je ne sais pas comment indiquer à Excel dans ma formule la
proposition "la couleur de remplissage de la case A1 est rouge"
Merci


Avatar
sabatier
alors, fab, ne te reste plus que VBA...
ça pourrait donner un truc dans ce genre :

Sub test()
If Range("A1").Interior.ColorIndex = 3 Then
Range("A2") = 2
Else
Range("A2") = 0
End If
End Sub

jps

PS. les cracks te diront qu'on peut aussi écrire
[A1].Interior.ColorIndex = 3 Then
mais moi, les crochets du gauche puis du droit, ça fait mal aux poignets ; d'ailleurs la touche parle
d'elle-même : Alt Gr = arrête sinon je me fâche..

"Philippe.R" wrote:

Bonsoir fab,
Ce n'est pas directement possible de vérifier des couleurs par formule.
Il existe sur excelabo une procédure VBA pour compter des couleurs qui peut être adaptée.
http://www.excelabo.net/xl/formats.php#additionrouge
Il est généralement beaucoup plus intéressant d'utiliser la mise en forme conditionnelle pour obtenir la
couleur et de contrôler parallèlement la réalisation de la condition.
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"fab" a écrit dans le message de
news:
Je voudrais créer une formule conditionnelle du type si la couleur de
la case A1 est rouge alors mettre 1 dans la case A2, sinon mettre 0.
En fait je ne sais pas comment indiquer à Excel dans ma formule la
proposition "la couleur de remplissage de la case A1 est rouge"
Merci




Avatar
Denis Michon
Bonsoir Fab,


Attention, la mise en forme conditionnelle permet de passer à une cellule ou à un groupe de cellules, un format particulier
pour attirer l'attention de l'usager sur ces dernières lorsque une ou des conditions sont remplies. Il est totalement
impossible d'écrire ou de modifier la valeur d'une cellule en utilisant une formule dans une mise en forme conditionnelle.
Comme son nom le suggère, il ne s'agit que de format et encore seulement certaines caractéristiques des formats de cellules
sont disponibles.

Par contre si tu précises ta demande, il est possible de passer par un événement de la feuille de calcul pour effectuer ce
travail. De plus, je t'invite à lire sur le concept des couleurs disponibles dans un classeur.. et comment excel gère ces
couleurs. Il faut faire très attention (connaître les limites de ce type "d'aventure") à ce type de procédure.


Salutations!



"fab" a écrit dans le message de news:
Je voudrais créer une formule conditionnelle du type si la couleur de
la case A1 est rouge alors mettre 1 dans la case A2, sinon mettre 0.
En fait je ne sais pas comment indiquer à Excel dans ma formule la
proposition "la couleur de remplissage de la case A1 est rouge"
Merci
Avatar
padbra
Bonjour a toi aussi fab,

Ben avec une fonction perso,

Function checkColor(target As Range, valeurSi As Integer, valeurDef As
Integer, Optional couleur As Integer)
If couleur = 0 Then
couleur = 3
End If

If target.Interior.ColorIndex = couleur Then
checkColor = valeurSi
Else
checkColor = valeurDef
End If
End Function

Seul soucis, le changement de couleur de ta cellule ne recalcule pas ta
valeur.

hth,
padbra

"fab" a écrit dans le message de news:

Je voudrais créer une formule conditionnelle du type si la couleur de
la case A1 est rouge alors mettre 1 dans la case A2, sinon mettre 0.
En fait je ne sais pas comment indiquer à Excel dans ma formule la
proposition "la couleur de remplissage de la case A1 est rouge"
Merci


Avatar
fab7491
Merci pour vos réponses.
En fait très concrètement, j'ai une ligne avec des chiffres et des
cases de différentes couleurs et je voudrais faire en bout de ligne la
somme des cases de chaque couleur...
Problème simple mais la solution ne m'a pas semblée triviale.

Merci encore,

Fab.


"Denis Michon" <denis wrote in message news:<TO6Cb.50946$...
Bonsoir Fab,


Attention, la mise en forme conditionnelle permet de passer à une cellule ou à un groupe de cellules, un format particulier
pour attirer l'attention de l'usager sur ces dernières lorsque une ou des conditions sont remplies. Il est totalement
impossible d'écrire ou de modifier la valeur d'une cellule en utilisant une formule dans une mise en forme conditionnelle.
Comme son nom le suggère, il ne s'agit que de format et encore seulement certaines caractéristiques des formats de cellules
sont disponibles.

Par contre si tu précises ta demande, il est possible de passer par un événement de la feuille de calcul pour effectuer ce
travail. De plus, je t'invite à lire sur le concept des couleurs disponibles dans un classeur.. et comment excel gère ces
couleurs. Il faut faire très attention (connaître les limites de ce type "d'aventure") à ce type de procédure.



Avatar
AV
En fait très concrètement, j'ai une ligne avec des chiffres et des
cases de différentes couleurs et je voudrais faire en bout de ligne la
somme des cases de chaque couleur...


Il y a-t-il une logique dans la mise en couleur ?
(Rouge si >10; vert si......)

AV

Avatar
fab7491
Il y a-t-il une logique dans la mise en couleur ?
(Rouge si >10; vert si......)


Non, j'ai sur ma ligne des cases de différentes couleurs, chacune
ayant des nombres sans logique particulière. En bout de ligne, je
voudrais par exemple additionner les cases rouges...

Avatar
Denis Michon
Bonsoir Fab,

Dans un module standard, copie la fonction suivante :

'---------------------------
Function AddCouleur(rg As Range, Couleur)
For Each c In rg
If c.Interior.ColorIndex = Couleur Then
AddCouleur = AddCouleur + c
End If
Next
End Function
'---------------------------

Et dans la cellule où tu veux obtenir la sommation d'une plage particulière de cellules ayant une couleur donnée, tu inscris
:

­dCouleur(A1:G1;3)

A1:G1 = Plage de cellules
3 = Index de la propriété colorindex d'une cellule.
= Couleur Rouge , couleur standard d'un classeur.

Attention, si tu modifies la couleur d'une cellule, la cellule contenant la sommation ne se mettra pas à jour . Pour ce
faire, tu devras avoir recours à la touche F9


Salutations!




"fab" a écrit dans le message de news:
Il y a-t-il une logique dans la mise en couleur ?
(Rouge si >10; vert si......)


Non, j'ai sur ma ligne des cases de différentes couleurs, chacune
ayant des nombres sans logique particulière. En bout de ligne, je
voudrais par exemple additionner les cases rouges...

Avatar
fab7491
Merci beaucoup pour ta réponse, c'est exactement ce que je voulais
faire.


Attention, si tu modifies la couleur d'une cellule, la cellule contenant la sommation ne se mettra pas à jour . Pour ce
faire, tu devras avoir recours à la touche F9


En effet, la sommation ne se met pas à jour.
Par contre, je ne connais pas la touche F9, et elle ne semble pas
avoir d'effet. Y a t il une commande pour tout recalculer?

Merci encore

Fab.

Avatar
michdenis
Bonjour Fab,

Pour recalculer par VBA, tu peux utiliser ceci :

'tous les classeurs ouverts :
Application.Calculate '(ou simplement Calculate)

'une feuille de calcul particulière
Worksheets(1).Calculate

'une plage déterminée
Worksheets(1).Rows(2).Calculate


Pour les raccourcis clavier, regarde dans l'aide, cela varie peut être d'une version à l'autre !

Il y a F9 et aussi Maj + F9 , Ctrl + Alt + F9



Salutations!



"fab" a écrit dans le message de news:
Merci beaucoup pour ta réponse, c'est exactement ce que je voulais
faire.


Attention, si tu modifies la couleur d'une cellule, la cellule contenant la sommation ne se mettra pas à jour . Pour ce
faire, tu devras avoir recours à la touche F9


En effet, la sommation ne se met pas à jour.
Par contre, je ne connais pas la touche F9, et elle ne semble pas
avoir d'effet. Y a t il une commande pour tout recalculer?

Merci encore

Fab.