33 utilisateurs en ligne

96,647 questions

987,985 réponses

101,441 membres

Identification
Pas encore inscrit ? Cliquez-ici
En 2014, une étude sur les usages mobiles révèle que les paiements mobiles sont très peu utilisés en France : qu'en pensez-vous ?
  • Mode aventurier : Il faut vivre avec son temps et tester ce nouveau mode de paiement
      14%
  • Mode petit filou' : Il faut vivre avec son temps mais attendre que la technologie se développe mieux
      22%
  • Mode Gollum : Je n'ai pas confiance, ce n'est peut-être pas sûr surtout si stocké dans les "nuages"
      44%
  • Mode Radagast Le Brun : Je préfère le palpable et payer avec de l'espèce !
      18%
  • Ne sait pas / ne se prononce pas : C'quoi les paiements mobiles (monnaie de singe ?!) ?
      2%
Voir les derniers sondages

Excel : test sur couleur de cellule ?

Bonjour

Je voulais savoir si dans une formule, on pouvait tester la couleur d'arrière plan d'une cellule.

ex : SI(A1.couleur=bleu;1;0)

Si c'est possible, quelle est la syntaxe ?

Merci et à très vite
posté le 15 Sept 2005 dans la catégorie Logiciel par ti-lapin

14 Réponses

bonjour,
dans ce sens je sais pas ou alors il faudra passer par VB sinon dans l'autre sens (mettre une cellule en couleur suivant son contenu) c'est possible via la mise en forme conditionnelle
répondu le 15 Sept 2005 par POLO62
Salut,

Range("A1").Select

If Selection.Interior.ColorIndex = 5 Then
MsgBox ("bleu")
Else
MsgBox ("pas de couleur")
End If
répondu le 15 Sept 2005 par azerty836
Oups après reflection je ne pense pas que ce soit ce que tu veuilles
répondu le 15 Sept 2005 par azerty836
Salut POLO62 et merci de ta rapidité

Tu as la syntaxe sur VB, je connais un peu (mais ya longtemps que je ne l'ai pas utilisé) :D
répondu le 15 Sept 2005 par ti-lapin
Pour changer la police, la casse, la couleur de la cellule, ce n'est pas dans la ligne ou tu tapes ta formule. C'est independant. Tout d'abord tu ecris ta formule. Tu vois si tu obtient ce que tu veux. Ensuite, sur la ou les cellules tu fais OUTILS -> Mise en forme conditionnelle et tu applique en fait une sorte de deuxieme formule ou tu lui dis tes criteres et ce que tu veux voir changer...
répondu le 15 Sept 2005 par pingouin69
désolé mais je n'ai pas le code VBA correspondant.
J'ai émis une idée qui techniquement doit etre possible mais mes connaissances en VBA sont tout de même limitées
répondu le 15 Sept 2005 par POLO62
quelle version d'Excel tu as ?


On va faire ca en ligne. Ouvre Excel clique sur un case, affecte lui une formule....
répondu le 15 Sept 2005 par pingouin69
ensuite Format, Mise en forme conditionnelle ....
répondu le 15 Sept 2005 par pingouin69
 
Solution
Pour cela, il faut créer une nouvelle fonction définie par l'utilisateur.

Entrer dans l'éditeur VBA en appuyant sur Alt-F11.
A gauche de l'écran, faire un clic-droit sur Module et choisir Insérer / Module.
Un double clic sur le module ainsi créé (qui s'appelle Module2, par exemple) et la fenêtre de code du module s'affiche.
Dans ce module, faire un copier-coller de ce qui suit,

' Code à copier-coller
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 cellule.
On peut aussi l'utiliser dans expression :
=SI(ColorCell(A1)>0;"Couleur de fond";"Sans couleur de fond")

On trouve la palette des 56 couleurs d'Excel ici http://www.mvps.org/dmcritchie/excel/colors.htm

NB : L'absence de couleur de fond retourne -4142
répondu le 17 Sept 2005 par Winator
PS
Pour tester la couleur de la police, utiliser l'instruction
ColorCell = Cible.Font.ColorIndex
à la place de Cible.Interior.ColorIndex
répondu le 17 Sept 2005 par Winator
Salut tout le monde

Merci pour vos recherches.

La réponse de Winator est celle que je recherchais à un détail près.

Apparemment, si je change la couleur de la cellule rien ne se passe immédiatement.
Je m'explique, si je prends l'exemple suivant :
"=SI(ColorCell(A1)>0;"Couleur de fond";"Sans couleur de fond")"

A1 est transparant, je tape la formule en B2, il y aura écrit "Sans couleur de fond".
Maintenant je change la couleur et si je ne tape pas quelque chose en A1 alors il y a tjrs écris "Sans couleur de fond"

Y a-t-il un moyen pour que le texte change dès que je met de la couleur ?
répondu le 21 Sept 2005 par ti-lapin
C'est le problème du recalcul des formules qui n'intervient que quand la valeur d'une cellule change, mais pas quand on modifie seulement l'affichage de la cellule. La rubrique d'aide "Calculs dans des classeurs" apporte quelques éclaircissements. En appuyant sur F9, on doit déclencher le recalcul. Mais dans la mesure où la valeur dans la cellule A1 n'a pas changé, il n'est pas sûr que B2 soit recalculée...
répondu le 21 Sept 2005 par Winator
Découverte récente, 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.
répondu le 23 Sept 2005 par Winator
Bonsoir

Désolé de ne pas avoir répondu depuis une quinzaine de jour mais j'ai été très pris par mon boulot.

Finalement, on a utilisé la mise en forme conditionnelle qui est très simple.

Merci à tous de m'avoir aidé
répondu le 5 Oct 2005 par ti-lapin

Questions associées:

18 réponses 83 vues
posté depuis 6 jours dans la catégorie Logiciel par paquerette
39 réponses 33 vues
posté le 30 Sept 2007 dans la catégorie Logiciel par michel 88
7 réponses 73 vues
posté le 22 Oct 2010 dans la catégorie Logiciel par moustik29
4 réponses 4 vues
posté le 23 Avr 2006 dans la catégorie Logiciel par mouse68
...