Macro MFC qui colorie la cellule

Résolu/Fermé
mohaaits11 Messages postés 7 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 22 août 2011 - 14 sept. 2010 à 00:24
mohaaits11 Messages postés 7 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 22 août 2011 - 14 sept. 2010 à 14:50
Bonjour,

Je n'arrives pas à mettre au point une macro d'une mise en forme conditionnelle qui va colorier la cellule d'une colonne entière de 80 lignes en vert si sa valeur est comprise entre (0.03; -0.03), en orange si la valeur est situé entre 0.05 à 0.03 et -0.05 à -0.03 et rouge si la valeur est supérieure a 0.05 ou inférieure à -0.05 , les valeurs correspondes à des cellules. Je travail sous xp et office 2003.
Merci d'avance pour votre aide.
Massy
A voir également:

3 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 946
Modifié par Mytå le 14/09/2010 à 02:31
Salut le forum

Merci d'être plus explicite, pas vraiment compris ta demande

Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
0
mohaaits11 Messages postés 7 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 22 août 2011
14 sept. 2010 à 12:49
Bonjour,

Merci Mytå pour ton intérêt, La version istallée est Excel 2003, cioncernant ma demande
j'ai pu bidouiller une macro qui fonctionne assez bien :



Private Sub Worksheet_Change(ByVal Target As Range)
'Range mesure.Select
'Range("c13").Activate
'Dim lacellule As Range
couleurderemplissage = Target 'lacellule
'Next lacellule
'Range("c13:c13").Select
'Range("c13").Activate
End Sub



Property Let couleurderemplissage(lacellule As Range)
Dim indexcouleur As Integer
Dim LCI As Double
Dim LCS As Double
Dim LI As Double
Dim LS As Double
Dim CC As Double

LCI = Cells(Range("LCI").Row, lacellule.Column).Value
LCS = Cells(Range("LCS").Row, lacellule.Column).Value
LI = Cells(Range("LI").Row, lacellule.Column).Value
LS = Cells(Range("LS").Row, lacellule.Column).Value
CC = Cells(Range("CC").Row, lacellule.Column).Value

If LCI < lacellule.Value And lacellule.Value < LCS Then
indexcouleur = 4
Else
If LI < lacellule.Value And lacellule.Value < LS Then
indexcouleur = 45
Else
indexcouleur = 3
End If
End If

'If LS > lacellule.Value Or lacellule.Value < LI Then
'indexcouleur = 3
'End If

lacellule.Interior.ColorIndex = indexcouleur
End Property

Néanmoins je n'arrive pas à ajouter une instruction qui enregistre la feuille dans un fichier sous format pdf et une autre instruction qui efface le contenu de la feuille de calcul pour effectuer une autre saisie.

merci d'avance...
Massy
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 081
Modifié par Mike-31 le 14/09/2010 à 13:22
Salut,

Pourquoi veux tu passer par une macro, tu peux traiter ton problème simplement avec la mise en forme conditionnelle

Met la plage à traiter en surbrillance, Format/Mise en forme conditionnelle
la valeur de la celle est :
Comprise entre -0,03 et 0,03 Format sélectionner la couleur verte
Ajouter
Comprise entre -0,05 et 0,05 Format sélectionner la couleur orange
Ajouter
Non comprise entre -0,05 et 0,05 Format sélectionner la couleur rouge

Seul bémol, les cellule vide seront en verte parce que considérées comme 0 donc entre -0,03 et 0,03

maintenant si tu préféres une macro c'est égagement possible avec un code bien plus simple
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
mohaaits11 Messages postés 7 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 22 août 2011
14 sept. 2010 à 14:50
Salut Mike-31,

merci pour votre réponse je pense que j'ai mal poser le problème, la mise en forme conditionnelle simple ne conviens pas à mon cas car j'ai besoins de 4 conditions soit : vert si la valeur de situe entre (-1 ; 1) ; orange si la valeur est complrise entre (-2,-1) ou ( 1,2 ); et rouge si ma valeur est située hors (-2,2).


entre temps j'ai pu resoudre le problème de la macro qui enregistre ma feuille en pdf dans un répertoire donné ce que je n'arrive pas encore pas encore à faire c'est d'éffacer le contenu la feuille de calcul pour effectuer une autre saisie.

merci encore pour votre aide.

massy
0