PLUS DE 3 FORMATS CONDITIONNEL

G

Gilles

Guest
- Salut à tous.
- Le format conditionnel, à ce que je sache sur Excel, ne peut s'appliquer que pour trois critères "conditionnels".
- Est-il possible de repousser d'une façon ou d'une autre, par VBA par exemple, le nombre de formats, couleur en l'occurrence.
Merci à tous.
Gilles
 
B

Bernard

Guest
Bonsoir Gilles et Pascal76

Tu trouveras ci-joint un fichier (de je ne sais plus qui) qui fait cela.

Tu as juste à l'adapter pour tes besoins. Déja lu Lol

Salut

Bernard
 

Pièces jointes

  • EmploiCouleursPlanning.zip
    8.6 KB · Affichages: 20
J

joris

Guest
Salut pascal,
j'ai utilise ta macro couleur.zip qui marche bien cependant j'ai un probleme. En effet je voulais appliquer la macro sur une cellule qui a une formule simple de multiplication et le code de couleur ne s'applique pas.

-si dans la cellule je tappe la valeur (dans mon cas 0.06) la il met la couleur par contre si le resultat de la multiplication est 0.06 la couleur ne s'applique pas.

Avez vous une explication?

Merci

Joris
 
J

joris

Guest
Salut merci pour ta reponse rapide,

voila la macro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D10")) Is Nothing Then 'Plage à modifie

Select Case Target.Value
Case Is = "0.06"
Target.Interior.ColorIndex = 2
Case Is = "0.02"
Target.Interior.ColorIndex = 3
Case Is = "0.01"
Target.Interior.ColorIndex = 4

''''Ajoute autant de Case... que tu veux
End Select
End If
End Sub


et voila la formule de D10: F10*G10

Maintenant si dans D10 je tappe 0.02 (par exempole j'ai la couleur)
mais si je tappe 1 dans F10 et 0.06 dans G10 (par exemple) ca marche pas.
J'esperes que c'est plus clair.

merci
 
P

Pascal76

Guest
Salut Joris

Ton problème vient du fait que ayant mis tes résultats entre " " dans ta macro (exemple "0.06") il cherche du texte ayant cette valeur et non le résultat en chiffre. Suprime les guillemets comme ci-dessous et cela marchera

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D10")) Is Nothing Then 'Plage à modifie

Select Case Target.Value
Case Is = 0.06
Target.Interior.ColorIndex = 2
Case Is = 0.02
Target.Interior.ColorIndex = 3
Case Is = 0.01
Target.Interior.ColorIndex = 4

''''Ajoute autant de Case... que tu veux
End Select
End If
End Sub

Bon courage

Pascal
 
P

Pascal76

Guest
Re

ok
excuse j'avais oublié un petit détail

essaies cette macro alors

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Range("D10") = 0.06 Then
Range("D10").Interior.ColorIndex = 2
ElseIf Range("D10") = 0.02 Then
Range("D10").Interior.ColorIndex = 3
ElseIf Range("D10") = 0.01 Then
Range("D10").Interior.ColorIndex = 4
End If

End Sub

Bon courage

Pascal
 
J

joris

Guest
merci ca marche,

c'est la premiere fois que je vois un forum aussi efficace et hop dans les favoris... ;-)

Je suis sur un projet sous excel pour mon stage et je sens que je vais avoir d'autres problemes.

J'ai commencer le VBA y a 1 semaines, je suis autodidacte y a t-il un ou des site(s) pour apprendre que vous me conseillez?

Merci encore pascal

Joris
 

Discussions similaires

Statistiques des forums

Discussions
312 658
Messages
2 090 616
Membres
104 610
dernier inscrit
jeanMe