Mise en forme conditionnelle excel

Résolu
kaka22 -  
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   -
Mise en forme conditionnelle sur plusieurs lignes avec valeurs differentes

Bonjour et merci d'avance pour votre aide

j'ai besoin de mettre une Mise en forme conditionnelle sur plusieurs lignes avec des valeurs differentes . je m'explique:

j'ai deux colonnes G ET H alors j'ai besoin que chaque ligne de la colonne H se colorie en rouge si sa valeur est strictement inferieur à la valeur que contient les memes lignes de la colonne G

Exemple:

Ligne N 10 si H10 < G10 alors la cellule H10 devient rouge et je veux que la condition soit valable pour toutes les lignes (sachant que les valeurs changent)

merci d'avance
A voir également:

9 réponses

Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
petit macro tu remplace 2 et 1 par :
2-> colone à colorier
1-> colone de comparaison

Sub Macro2()
'
Dim i
For i = 1 To 100
Cells(i, 2).Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
Formula1:="cells(i,1)"
Selection.FormatConditions(1).Interior.ColorIndex = 3
Next i

End Sub



La vie c'est comme une boite de chocolat, on ne sait jamais sur quoi on va tomber.
0
kaka22
 
MERCI STEEFIF pour ta reponse mais j'ai essayé d'inserer ce macro mais j'y arrive pas
peux tu detailler STP

merci
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
je vais te faire une feuille excel ce matin avec un exemple je post des que c'ets fait
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

les mises en forme conditionnelle peuvent être précisées sans forcément passer par des macros VBA. Si vous regardez ici, vous devriez trouver votre bonheur.

Cordialement.
0
kaka22
 
MERCI steefif j'attends ton exemple :D
chossette9 : j'ai deja essayé de passer par une mise en forme conditionnelle simple mais ça ne fonctionne que pour une ligne (les valeurs de la colonne G changent chaque ligne) alors il faudrait mettre une conditon pour chaque ligne sachant qu'il ya une centaine :(
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
Alors en fait voici l'exemple avec les colonnes G et H



Sub Macro2()
'
Dim i
For i = 1 To 100
    Cells(i, 8).Select
    Selection.FormatConditions.Delete
    If (Cells(i, 8).Value < Cells(i, 7).Value) Then
        Selection.Interior.ColorIndex = 3
    End If
Next i

End Sub


donc 8 pour h
et 7 pour g

tu fais une nouvell macro que tu lances et pouf ca marche
pour fair eune nouvelle macro :
outil/macro/enregistrer
tu arrete
et tu remplaces le code généré dans visual basic par le code fourni

si tu as des soucis dis le je dubloquerai


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kaka22
 
MERCCCCCCIIIIIIIIIII té génial
je teste ça et je te tiens au jus
0
kaka22
 
au fait la macro ne fonctionne pas !!! ce qu'elle fait c'est de balayer toutes les lignes de la colonne H '(une par une) et colorie en rouge celles qui sont inferieur à G
apres le balayage ,si je modifie une valeur elle n'est pas prise en compte (meme en relancant la macro :( )
moi je veux que sa se fasse automatiquement sans de lancer la macro à chaque fois !!!

merci d'avance
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
je vais regarder ça
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

chossette9 : j'ai deja essayé de passer par une mise en forme conditionnelle simple mais ça ne fonctionne que pour une ligne (les valeurs de la colonne G changent chaque ligne) alors il faudrait mettre une conditon pour chaque ligne sachant qu'il ya une centaine :(

Sélectionne toutes tes cellules en H avant de faire ta MFC, et fixe ta MFC sur la cellule active (la 1ère sélectionnée).
Par exemple tu sélectionnes H2:H50 et ta MFC est :
'inférieure à' =$G2

eric
0
kaka'22
 
j'ai deja essayé de faire ça mais ça fonctionne pas car ttes les cellules que j'ai selectionné (H2 : H50) deviennent rouge que si elles sont inferieur à =$G2 !!! Alors que chaque ligne x la cellule Hx doit dependre de la cellule Gx !!!
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Si ça fonctionne,
seulement soit plus attentif à ce qui est écrit : =$G2 et non pas =$G$2 comme tu as dû l'écrire....
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Ta suggestion fonctionne, je viens de tester chez moi.
0
kaka'22
 
yeeeeeeeeeeeeeeeeeeeeees ça fonctionne !!!!!!!
ta raison c'était le petit dollard qui génait (donc ma condition restait fixé sur la valeur de la premiere cellule) merci infiniment les gars !!!!!
steetif : merci aussi pour ta macro
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
bon alors dans ton visual basic suppriem la macro que je t'ai dit de creer

dans ton visual basic dans l'arborescence de gauche tu as un truc qui s'appelle feuil1
clique dedans et colle ca :
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim KeyCells As Range 
Dim i 

' La variable KeyCells contient les cellules qui déclencheront 
' une alerte si elles sont modifiées. 
Set KeyCells = Range("G1:H1000") 

If Not Application.Intersect(KeyCells, Range(Target.Address)) _ 
Is Nothing Then 

' Changement de couleur si besoin 
' lorsque l'une des cellules désignées 
    For i = 1 To 100 
        Cells(i, 8).Select 
        Selection.Interior.ColorIndex = 0 
        If (Cells(i, 8).Value < Cells(i, 7).Value) Then 
            Selection.Interior.ColorIndex = 3 
        End If 
    Next i 
End If 
End Sub 



test mais en théorie ça marche

La vie c'est comme une boite de chocolat, on ne sait jamais sur quoi on va tomber.
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

ça fonctionne si tu le met dans 'ThisWorbook' et non pas dans 'Feuil1'
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
non dans this workbook chez moi ça marche pas
ça marche que dans feuil1
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Tu as dû rater le message de 14h15 : pas besoin de macro pour ça..
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
l'important c'est que ca marche je savai spas faire sans macro
et je savais pas faire declencher sur un changement d'une plage de cellule.
ca m'a appris aussi quelquechose! =)
0