format conditionnel et VBA

F

franck

Guest
salut à tous,

Je recherche la façon de faire un format conditionnel par le code, car celui-ci est trop limité (seulement 3 conditions).


je voudrais traduire la chose suivante.

J'ai des valeur Maxi, Mini et std qui me serve de comparaison pour les données q je rentre, se q je voudrais , c'est que chaque données rentrées, soient comparé au maxi, mini, et qu'en fonction de celà le résultat s'affiche d'une certaine couleur.

Je prends l'exemple que mon Maxi = B1, Mini = B3 et std =B2

je voudrais à partir de là traduire en code la chose suivante :

Plage (F21:K200)

si résultat cellules > Maxi ; colorie en Rouge
si résultat cellules<Mini; colorie en Rouge
si résultat compris entre Maxi et Mini; colorie en vert
si résultat = maxi ou mini; colorie en orange
si résultat = "PF"; colorie en blanc (à moins que l'on puisse traduire aucun remplissage)
si résultat = "";aucun remplissage

voilà se q j doit donc obtenir
est-ce possible ??

Franck
 
L

LeChat

Guest
Integre ça au code de la feuille sur la quelle tu saisie

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Range("F21:K200"), Target) Is Nothing Then Exit Sub
If IsEmpty(Target.Value) Then
Target.Interior.ColorIndex = xlColorIndexAutomatic
Target.Font.ColorIndex = xlColorIndexAutomatic
Exit Sub
End If
Maxi = Range("B1").Value
std = Range("B2").Value
Mini = Range("B3").Value
Select Case Target.Value
Case "PF", ""
Target.Interior.ColorIndex = 2
Target.Font.ColorIndex = Target.Interior.ColorIndex
Case Is = Mini, Is = Maxi
Target.Interior.ColorIndex = 4
Target.Font.ColorIndex = Target.Interior.ColorIndex
Case Is < Mini, Is > Maxi
Target.Interior.ColorIndex = 3
Target.Font.ColorIndex = Target.Interior.ColorIndex
Case Else
Target.Interior.ColorIndex = 6
Target.Font.ColorIndex = Target.Interior.ColorIndex
End Select
End Sub

(j'ai mis du jaune à la place du orange)

LeChat
 
J

Jacky

Guest
Bonjour


Voici le code pour aucun remplissage

Case "PF", ""

'Aucun remplissage
Selection.Interior.ColorIndex = xlNone

Pour la couleur de la police,tu supprime les lignes

Target.Font.ColorIndex = Target.Interior.ColorIndex

Bon courage
 

Discussions similaires

Réponses
26
Affichages
1 K

Statistiques des forums

Discussions
314 655
Messages
2 111 605
Membres
111 217
dernier inscrit
aladinkabeya2