Couleur de remplissage en fonction de la cellule

  • Initiateur de la discussion Initiateur de la discussion 14loulou
  • 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 !

1

14loulou

Guest
Bonjour,

Je bloque sur un petit souci

quand le clique sur la ligne pour mettre une donnée (j'ai fait une liste déroulante) je voudrais quand fonction de ce résultat de la ligne en cours colonne 2 . La ligne se remplisse d'une couleur de la colonne 1 et colonne 5

J'ai un début de script

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  If Target.Column = 2 Then
    If Target.Value = "toto" Then
     Rows(Target.Row).Font.ColorIndex = 3
    End If
  End If
End Sub

merci de votre aide
 
Re : Couleur de remplissage en fonction de la cellule

Bonjour 14loulou, Salut Said,

Peut-être qu'avec une simple Mise en forme conditionnelle cela suffirait ?

Dans ce cas, car je ne vais pas savoir t'expliquer avec Excel 2007, regarde ce lien et plus particulièrement le chapitre IV E "Feuilles de calcul/Mise en forme conditionnelle" :

Présentation de Microsoft Office - Excel 2007 - Club d'entraide des développeurs francophones - Club d'entraide des développeurs francophones

Ensuite et après selection de toute ta plage, tu choisis La formule est et en première condition ceci : =$B3="toto" et tu selectionnes ton motif bleu.

Ajouter et en seconde condition : =$B3="tutu" et ton autre motif.

Bon après-midi.

Jean-Pierre
 
Re : Couleur de remplissage en fonction de la cellule

Bonjour,

Une piste avec le code suivant

'############
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim lig&
Dim i&
Dim R As Range
Dim R2 As Range
Dim C As Range
Dim valeur
Dim couleur
Set R = Application.Intersect(Target, Range(Columns(2).Address))
If R Is Nothing Then Exit Sub
'--- A adapter ---
valeur = Array("toto", "tutu")
couleur = Array(41, 44)
'-----------------
For Each C In R
lig& = C.Row
Set R2 = ActiveSheet.Range(Cells(lig&, 1), Cells(lig&, 5))
For i& = LBound(valeur) To UBound(valeur)
If C = valeur(i&) Then
R2.Interior.ColorIndex = couleur(i&)
Exit For
End If
Next i&
Next C
End Sub
'############

Cordialement.

PMO
Patrick Morange
 
- 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
9
Affichages
509
Retour