mise en forme conditionnelle

  • Initiateur de la discussion Initiateur de la discussion meszo
  • Date de début Date de début

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 !

M

meszo

Guest
Bonjour à tous,
dans la mise en forme conditionnelle, je voudrai aller au-delà des 3 conditions proposées dans excel.
En fait, j'ai besoin de mettre les lignes en couleur en fonction d'un nom qui apparaît dans une cellule de cette ligne, et j'ai 6 possibilités de ce nom.
Merci d'avance
Francis
 
Bonsoir Francis,


Voici 2 liens sur le sujet :

Lien supprimé

Lien supprimé


Cordialement,
Didier_mDF

myDearFriend-3.gif
 
salut "meszo"
bonsoir le "FORUM"
tu peux dans un premier temps faire une recherche sur le forum
et utiliser le cas échéant un Select Case

Sub SelectCase ()
Application.ScreenUpdating =False
for each C in Range("à déterminer")'<--- par exemple A1:A10
Select Case C.Value
Case "Mr"
C.Interior.ColorIndex = 3
Case "AP"
C.Interior.ColorIndex = 5
Case "JMB"
C.Interior.ColorIndex = 6
Case "ROR"
C.Interior.ColorIndex = 8
'<---- à recopier pour un nouveau cas
End Select'<---juste au dessus de là
Next C
Application.ScreenUpdating = True
End Sub
A+++
Jean Marie
 
Bonsoir Meszo,

Tu trouveras en pièce jointe un exemple à adapter pour répondre à ton problème.

=====================================================
Private Sub Worksheet_Change(ByVal Target As Range)

Set RangeCouleurs = Range("A1:F1") '<< A adapter
Set RangeCouleurInconnue = Range("G1") '<< A adapter
Set RangeNoms = Range("A4:A24") '<< A adapter

If Not Intersect(Target, RangeNoms) Is Nothing Then
For Each CelNom In Intersect(Target, RangeNoms)
For Each CelCouleur In RangeCouleurs
CelNom.EntireRow.Interior.ColorIndex = RangeCouleurInconnue.Interior.ColorIndex
If CelNom = CelCouleur Then
CelNom.EntireRow.Interior.ColorIndex = CelCouleur.Interior.ColorIndex
Exit For
End If
Next CelCouleur
Next CelNom
End If

End Sub
=====================================================

Le principe est simple:
Chaque fois que le contenu d'une cellule de la zone "RangeNoms" de la feuille qui contient les noms est modifiée, on compare sa valeurs aux cellules de la zone "RangeCouleurs" qui sert d'échantillon. Celle ci contient les noms à tester et les couleurs à affecter.
Si on trouve égalité, on colorie toute la ligne de la cellule de la zone "RangeNoms" avec la couleur correspondante dans "RangeCouleurs"
Si on ne trouve pas égalité, on colorie toute la ligne de la cellule de la zone "RangeNoms" avec la couleur de la cellule correspondant à la zone "RangeCouleurInconnue"

Remarque :
La zone "RangeCouleur" peut être masquée
Le nombre de nom/couleur (6) peut être augmenté sans difficultés, il suffit de mettre plus de cellules dans la zone "RangeCouleurs" et de modifier le paramètre associé en tête de procédure.

Bon courage pour la suite.

Omicron.
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
159
Réponses
4
Affichages
208
Réponses
6
Affichages
236
Retour