mise en couleur automatique d'une ligne sous condition

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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 😱
 

Pièces jointes

Dernière modification par un modérateur:
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:
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
 
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
 
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.
 
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! 😱
 

Pièces jointes

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:
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 😱
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
368
Réponses
4
Affichages
133
Réponses
7
Affichages
116
Réponses
5
Affichages
208
Réponses
12
Affichages
214
Réponses
2
Affichages
103
Retour