mise en couleur automatique d'une ligne sous condition

didierouleaux

XLDnaute Nouveau
Bonjour,

Je recherche le moyen de mettre en couleur une ligne avec une condition .
Dans le fichier joint : on colorie en jaune les cellules de B à G si la cellule E = oui
et on colorie en gris si la cellule E = oui et G contient une date .

merci d'avance.
 

Pièces jointes

  • Classeur2.xls
    13.5 KB · Affichages: 62
  • Classeur2.xls
    13.5 KB · Affichages: 60
  • Classeur2.xls
    13.5 KB · Affichages: 45

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : mise en couleur automatique d'une ligne sous condition

Bonjour didierouleaux et bienvenue sur le forum :)

Voir si la solution te conviens.

Il s'agit d'une MFC appliquée avec des formules (voir Format; Mise en forme conditionelle...)

Edit.: Hey, Doublezero :eek:
 

Pièces jointes

  • MFC_conditions.xls
    15 KB · Affichages: 75
Dernière modification par un modérateur:

DoubleZero

XLDnaute Barbatruc
Re : mise en couleur automatique d'une ligne sous condition

Bonjour, didierouleaux, le Forum,

Peut-être ainsi :

Code:
Option Explicit
Sub Colorer_si()
Dim i As Long
For i = 4 To Range("b65536").End(xlUp).Row
    If Range("b" & i).Offset(0, 3).Value = "oui" And Range("b" & i).Offset(0, 5).Value = "" Then Range("b" & i).Resize(, 6).Interior.ColorIndex = 6
    If Range("b" & i).Offset(0, 3).Value = "oui" And Range("b" & i).Offset(0, 5).Value <> "" Then Range("b" & i).Resize(, 6).Interior.ColorIndex = 15
Next
End Sub

P. S. : Bonjour, genevieve78.

A bientôt :)
 
Dernière édition:

JBARBE

XLDnaute Barbatruc
Re : mise en couleur automatique d'une ligne sous condition

Bonsoir,

Un autre exemple !

A+
 

Pièces jointes

  • Coloriage.xls
    54.5 KB · Affichages: 66
  • Coloriage.xls
    54.5 KB · Affichages: 70
  • Coloriage.xls
    54.5 KB · Affichages: 66
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : mise en couleur automatique d'une ligne sous condition

Bonjour à tous


Pour la condition 1
par rapport à la date, cette formule peut fonctionner presque bien (cela dépend du format de date)
Code:
=ET(CELLULE("format";$G4)="D1";ET(NON(ESTTEXTE($G4));$G4<>"");$E4="oui")
Pour la condition 2, garder la même formule que geneviève78
 

sourcier08

XLDnaute Occasionnel
Re : mise en couleur automatique d'une ligne sous condition

Bonsoir Forum,

On aurait aussi pu mettre une évènementielle :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo fin

If Not Application.Intersect(Target, Range("E4:E65535")) Is Nothing Then

Set Plage = Range("B" & Target.Row & ":G" & Target.Row)

    If Target = "oui" And Target.Offset(0, 2) = "" Then
        Plage.Interior.ColorIndex = 6
    ElseIf Target = "" Then
        Plage.Interior.ColorIndex = xlNone
    ElseIf Target = "oui" And Target.Offset(0, 2) <> "" Then
        Plage.Interior.ColorIndex = 15
    End If
    
ElseIf Not Application.Intersect(Target, Range("G4:G65535")) Is Nothing Then

Set Plage = Range("B" & Target.Row & ":G" & Target.Row)

    If Target <> "" And Target.Offset(0, -2) = "oui" Then
        Plage.Interior.ColorIndex = 15
    End If
    
End If

fin:
Exit Sub

End Sub
 

Staple1600

XLDnaute Barbatruc
Re : mise en couleur automatique d'une ligne sous condition

Bonjour à tous

didierouleaux:
petite précision:
Dans l'exemple das geneviève78, si tu saisis autre chose qu'une date en colonne G, la MFC se fera quand même
d’où mon précédent message avec l'ajout de CELLULE
(qui teste le format de la cellule voir détails dans l'aide)
Si une cellule est formatée en jj/mm/aaaa , =CELLULE("format";G7) renvoie D1
mais cela implique que le format de la colonne G soit toujours un format date adéquat pour la MFC fonctionne.
 

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : mise en couleur automatique d'une ligne sous condition

Re didie,
Staple
Le Forum :)

Je repost le fichier avec la solution de staple incluse car comme il le dit, de cette façon, tu es certaine que la MFC respecte exactement ta demande (beaucoup mieux adaptée).

Voir exemple dans le fichier.

Bonne journée à tous! :eek:
 

Pièces jointes

  • MFC_conditions_staple.xls
    428 KB · Affichages: 66

Staple1600

XLDnaute Barbatruc
Re : mise en couleur automatique d'une ligne sous condition

Re

Merci genevieve78
Mais comme je le disais précédemment même avec cet ajout il y a encore une chausse-trape.
Exemple:
Si tu saisis simplement 1 dans la colonne G (ce qui n'est pas une date mais sera traduit par Excel comme une date: exactement le 01/01/1900)
la MFC s'éxécute.

Il va falloir rajouter une condition (avec NBCAR par exemple)
Code:
=ET(CELLULE("format";$G4)="D1";ET(NON(ESTTEXTE($G4));$G4<>"";NBCAR($G4)=5);$E4="oui")

C'est déjà un peu mieux mais pas sur que ce soit suffisant.
 
Dernière édition:

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : mise en couleur automatique d'une ligne sous condition

@Staple

Bien vu! Remarque juste mais au fond, la colonne G est la colonne d'entrée des dates donc en principe... elle risque tout au plus de mettre du texte(notes perso) ce qui ne causera aucun problème.

Si elle veut entrer un chiffre seul en G (et pourquoi?)sans déclencher la MFC, elle doit obligatoirement changer manuellement le format de cellule comme tu l'as fait remarqué...

ou mieux, mettre un apostrophe(') devant le chiffre pour éviter une saisie en format date.

En passant, j'ai testé la formule du sourcier qui fonctionne à merveille! Je reste admirative devant les codeurs.

Bonne journée à tous :eek:
 

Discussions similaires

Statistiques des forums

Discussions
312 685
Messages
2 090 938
Membres
104 703
dernier inscrit
romla937