Formule Excel : reporter la valeur d'une cellule A1

Anonyme
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
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 ?

Anonyme
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
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 ...

Anonyme
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
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]
@+

Anonyme
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 +

1 533 contributions
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..
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
@+
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....

Anonyme
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+
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