Formule Excel : reporter la valeur d'une cellule A1

* Kervisant
Anonyme
Envoyé le 22/11/2010 à 16:12

Je souhaiterai reporter la valeur d'une cellule A1 dont la couleur de police est différente suivant les cas, dans une cellule A2 à la condition suivante :
Quand la couleur de police de la cellule A1 est bleu : pas de report de sa valeur dans A2
Quand la couleur de la police de la cellule A1 est noir : report de de sa valeur dans A2
Est-ce possible ? Et si oui, comment faire ?
D'avance merci

compte désactivé

Bjr,
La couleur de la police dans la cellule A1 est-elle le résultat d'un calcul ou d'un test automatique d'excel, ou est-ce l'utilisateur qui choisit d'écrire dans une couleur donnée?
D'autre part, la Cellule A2 contient-elle quelque chose avant que le report éventuel se fasse depuis A1, ou cette cellule est-elle vide ?
1 IP toujours bloquée I smile when I’m angry.I cheat and I lie. I do what I have to do To get by. But I know what is wrong,And I know what is right. And I’d die for the truth In My Secret Life.
* Kervisant
Anonyme
Envoyé le 22/11/2010 à 18:36

Bjr,
La couleur de la police dans la cellule A1 est-elle le résultat d'un calcul ou d'un test automatique d'excel, ou est-ce l'utilisateur qui choisit d'écrire dans une couleur donnée?
D'autre part, la Cellule A2 contient-elle quelque chose avant que le report éventuel se fasse depuis A1, ou cette cellule est-elle vide ?



C'est l'utilisateur qui écrit dans la cellule A1 et la cellule A2 contient un résultat d'une autre opération

louma louma
145 contributions
Membre depuis le 21/02/2003
Envoyé le 23/11/2010 à 00:04


Bonsoir,
Si c'était la couleur de fond et non la couleur des caractères ce serait facile en utilisant la fonction excel complémentaire (COLOR)mais dans ton cas je regarderais demain car il se fait tard.
Pour un test sur couleur de fond :
=si(couleur(a1;5);"";A2) 5: correspondant à un fond bleu, 3 à rouge; 6 à jaune ...


compte désactivé

Merci de préciser de quelle version d'excel il s'agit
1 IP toujours bloquée I smile when I’m angry.I cheat and I lie. I do what I have to do To get by. But I know what is wrong,And I know what is right. And I’d die for the truth In My Secret Life.
* Kervisant
Anonyme
Envoyé le 23/11/2010 à 05:41

C'est une version 2007;
J'ai essayé la couleur en remplissage et non le texte et la formule ne marche pas
J'ai mis pour la cellule A2: =SI(COULEUR(A1;6);"";A1
En fait, je veux que A2 soit remplie quand il n'y a pas de couleur dans la cellule A1

louma louma
145 contributions
Membre depuis le 21/02/2003
Envoyé le 23/11/2010 à 12:40


Bonjour,
Telle que tu as tapé la formule c'est correct, excepté qu'il te manque la dernière parenthèse : si la cellule A1 est en jaune alors en a2 rien sinon a2=a1.
Chez moi ça marche. Je suis en excel 2000 donc en 2007 cela doit pouvoir se faire. As-tu la fonction COULEUR ? Cette fonction n'était pas installée par défaut (comme beaucoup d'autres. Il m'a fallu installer une macro complémentaire mais malheureusement je ne sais plus laquelle (outils - macro complémentaire).
J'essaye de me rappeler.
ça m'énerve, ça m'énerve ...
sinon si tu t'y connais en vba, tu peux aller voir :
[url=http://translate.google.fr/translate?hl=fr&sl=en&u=http://www.cpearson.com/excel/Colors.aspx&ei=5p7rTO-YPJK1hAfW8uiJAQ&sa=X&oi=translate&ct=result&resnum=3&ved=0CCoQ7gEwAg&prev=/search%3Fq%3Dfonctions%2Bcompl%25C3%25A9mentaires%2Bexcel%2Bcolor%26hl%3Dfr%26client%3Dfirefox-a%26hs%3DnNr%26rls%3Dorg.mozilla:fr:official]http://translate.google.fr/translate?hl=fr&sl=en&u=http://www.cpearson.com/excel/Colors.aspx&ei=5p7rTO-YPJK1hAfW8uiJAQ&sa=X&oi=translate&ct=result&resnum=3&ved=0CCoQ7gEwAg&prev=/search%3Fq%3Dfonctions%2Bcompl%25C3%25A9mentaires%2Bexcel%2Bcolor%26hl%3Dfr%26client%3Dfirefox-a%26hs%3DnNr%26rls%3Dorg.mozilla:fr:official[/url]
@+

* Kervisant
Anonyme
Envoyé le 23/11/2010 à 13:06

Bonjour
Merci pour ton aide .
je vais essayer d'aller sur le site car je n'ai pas la fonction couleur;
En tous les cas merci
A +

Claude40 Claude40
1 533 contributions
Membre depuis le 24/03/2010
Envoyé le 23/11/2010 à 14:20 Modifié par Claude40


Bonjour,
Je suis intéressé par la question et j’ai fait quelques recherches, dont voici les résultats :
- J’ai utilisé la fonction CELLULE (je n’ai pas non plus la Fonction COULEUR).
- Elle permet d’obtenir la valeur 1 ou 0 selon que la cellule analysée est définie dans un FORMAT comportant une couleur et ceci quelle que soit la couleur. Si une cellule est définie en rouge, bleu, jaune ou vert, par exemple, on a un retour « 1 ». Si le format de la cellule ne comporte pas de couleur on a un retour « 0 ».
- La fonction se code ainsi : =CELLULE("couleur";A1)
- -Donc pour prendre en A2, la valeur de A1 si la cellule A1 est définie sans couleur, il faut coder en A2 : =SI(CELLULE("couleur" ;A1)=0 ;A1 ; "" )
NB : Important : il faut que la couleur de A1 soit définie par « Format de cellule » de ce genre : # ##0;[Bleu]-# ##0 et non par « couleur de police ».
J’espère que cela contribue à faire avancer le problème.
Cordialement..
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
louma louma
145 contributions
Membre depuis le 21/02/2003
Envoyé le 23/11/2010 à 14:44


CA Y EST. J'AI TROUVE.
Entre dans l'éditeur VBA en appuyant sur Alt-F11.
Choisis Insérer / Module.
Une fenêtre de code module s'affiche.
Dans ce module, faire un copier-coller de ce qui suit,


Public Function ColorCell(Cible As Range) As Variant
ColorCell = Cible.Interior.ColorIndex
End Function

C'est tout.

Dans une cellule il suffit d'écrire :
=ColorCell(A1)
pour afficher le numéro de la couleur de la cellul A1.
Tu peux donc écrire :
=SI(ColorCell(A1)>0;"Couleur de fond";"Sans couleur de fond")
L'absence de couleur de fond retourne une valeur négative -4142

Pour tester la couleur de la police, utiliser l'instruction
ColorCell = Cible.Font.ColorIndex
à la place de Cible.Interior.ColorIndex

@+

Claude40 Claude40
1 533 contributions
Membre depuis le 24/03/2010
Envoyé le 23/11/2010 à 18:29


Merci beaucoup (même si je ne suis pas le premier demandeur, j'apprécie l'information)

Par rapport à ma "trouvaille", il y a nettement un mieux, car ça marche quand on définit les couleurs par "couleur de police".

Mais, pour tester police colorée ou non, il faut tester supérieur à 1 et non à zéro, car cellule vide ou couleur de police noire renvoient 1. Blanc = 2, rouge = 3, jaune = 6 etc....
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
* Kervisant
Anonyme
Envoyé le 24/11/2010 à 07:44

CA Y EST. J'AI TROUVE.
Entre dans l'éditeur VBA en appuyant sur Alt-F11.
Choisis Insérer / Module.
Une fenêtre de code module s'affiche.
Dans ce module, faire un copier-coller de ce qui suit,


Public Function ColorCell(Cible As Range) As Variant
ColorCell = Cible.Interior.ColorIndex
End Function

C'est tout.

Dans une cellule il suffit d'écrire :
=ColorCell(A1)
pour afficher le numéro de la couleur de la cellul A1.
Tu peux donc écrire :
=SI(ColorCell(A1)>0;"Couleur de fond";"Sans couleur de fond")
L'absence de couleur de fond retourne une valeur négative -4142

Pour tester la couleur de la police, utiliser l'instruction
ColorCell = Cible.Font.ColorIndex
à la place de Cible.Interior.ColorIndex

@+


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-

Bonjour
J'ai fait comme tu m'as dit... Ca marche.
Juste un Pb : Quand je change la couleur du texte dans A1, il faut que je double-clique sur A2 et enter pour que la fonction marche.

A2: =SI(Colorcell(A1)<1;A1;)
Merci encore et A+

louma louma
145 contributions
Membre depuis le 21/02/2003
Envoyé le 24/11/2010 à 08:35


Bonjour,
En effet c'est le problème du recalcul. Si on ajoute

Application.Volatile True

au début du code d'une fonction, elle est recalculée lors de chaque recalcul de la feuille, même si les cellules dont sa valeur dépend ne sont pas modifiées.

Dans ta formule n'oublies pas les 2 guillemets dans le cas où tu ne veux rien dans ta formule. ""

@+


Discussion trop ancienne

Cette discussion a été automatiquement fermée car elle n'a plus reçue de nouveau message depuis trop longtemps.

Nous vous suggérons de créer un nouveau message

« Retour sur la liste des messages de ce forum