[Excel] Utilise Macro Couleur fond -> Texte
Fermé
Demky
Messages postés
17
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
26 mars 2012
-
6 oct. 2009 à 23:28
Demky Messages postés 17 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 26 mars 2012 - 7 oct. 2009 à 10:47
Demky Messages postés 17 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 26 mars 2012 - 7 oct. 2009 à 10:47
A voir également:
- [Excel] Utilise Macro Couleur fond -> Texte
- Liste déroulante excel - Guide
- Formule excel - Guide
- Formule excel si contient texte alors texte ✓ - Forum Excel
- Dans le texte, un seul mot a réellement été écrit en lettres capitales (majuscules). quel est ce mot ? ✓ - Forum Word
- Excel cellule couleur si condition texte - Forum Excel
4 réponses
Demky
Messages postés
17
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
26 mars 2012
2
7 oct. 2009 à 08:54
7 oct. 2009 à 08:54
up...
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mars 2023
3 292
7 oct. 2009 à 10:15
7 oct. 2009 à 10:15
Bonjour,
essaies:
Target.Offset(0, -1).EntireColumn.Interior.ColorIndex
essaies:
Target.Offset(0, -1).EntireColumn.Interior.ColorIndex
Demky
Messages postés
17
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
26 mars 2012
2
7 oct. 2009 à 10:37
7 oct. 2009 à 10:37
Bonjour Michel_m ta ligne de code est dans l'idée de ce que je cherche a faire :
Private Sub Worksheet_Change(ByVal Target As Range)
' Quantité = 0 ?
' adapter le numéro de la colonne (ici 8)...
' et de ligne pour ne pas toucher aux lignes entête (ici 2)
If Target.Column = 8 _
And Target.Row >= 2 Then
If UCase(Target.Value) = "0" Then
Target.EntireRow.Interior.ColorIndex = 22
Target.Offset(0, -1).EntireColumn.Interior.ColorIndex = 22
Else
Target.EntireRow.Interior.ColorIndex = 0
End If
End If
End Sub
Le probleme, c'est que toute la colonne G passe en Color=22
Comment faire pour que seulement la case Gx passe en couleur ? (la case de la ligne ou G9 est egal a 0)
Plus compréhensible avec l'exemple :
/ A B C D
1 * * * *
2 * * * 0
3 * * * *
D2=0
La Ligne 2 passe en "color22".
Le texte de la Case C2 passe en "color22"
**-> nb : si, c'est D3 qui est egale a 0, c'est C3 qui passera son texte en couleur22.
Je vais essayer de chercher, mais si tu es toujours là, tu es le bienvenue :)
Edit :J'ai mis Font à la place de Interior, la modification s'effectue bien sur le texte, reste plus qu'a trouver comment n'agir que sur la case dx
Target.Offset(0, -1).EntireColumn.Font.ColorIndex = 22
Private Sub Worksheet_Change(ByVal Target As Range)
' Quantité = 0 ?
' adapter le numéro de la colonne (ici 8)...
' et de ligne pour ne pas toucher aux lignes entête (ici 2)
If Target.Column = 8 _
And Target.Row >= 2 Then
If UCase(Target.Value) = "0" Then
Target.EntireRow.Interior.ColorIndex = 22
Target.Offset(0, -1).EntireColumn.Interior.ColorIndex = 22
Else
Target.EntireRow.Interior.ColorIndex = 0
End If
End If
End Sub
Le probleme, c'est que toute la colonne G passe en Color=22
Comment faire pour que seulement la case Gx passe en couleur ? (la case de la ligne ou G9 est egal a 0)
Plus compréhensible avec l'exemple :
/ A B C D
1 * * * *
2 * * * 0
3 * * * *
D2=0
La Ligne 2 passe en "color22".
Le texte de la Case C2 passe en "color22"
**-> nb : si, c'est D3 qui est egale a 0, c'est C3 qui passera son texte en couleur22.
Je vais essayer de chercher, mais si tu es toujours là, tu es le bienvenue :)
Edit :J'ai mis Font à la place de Interior, la modification s'effectue bien sur le texte, reste plus qu'a trouver comment n'agir que sur la case dx
Target.Offset(0, -1).EntireColumn.Font.ColorIndex = 22
Demky
Messages postés
17
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
26 mars 2012
2
7 oct. 2009 à 10:47
7 oct. 2009 à 10:47
Je pense avoir trouver la solution...
Je ne sais pas si c'est la bonne façon mais avec :
Private Sub Worksheet_Change(ByVal Target As Range)
' Quantité = 0 ?
' adapter le numéro de la colonne (ici 8)...
' et de ligne pour ne pas toucher aux lignes entête (ici 2)
If Target.Column = 8 _
And Target.Row >= 2 Then
If UCase(Target.Value) = "0" Then
Target.EntireRow.Interior.ColorIndex = 22
Target.Offset(0, -1).Font.ColorIndex = 22
Else
Target.EntireRow.Interior.ColorIndex = 0
End If
End If
End sub
Cela semble fonctioner :)
Merci beaucoup.
Je ne sais pas si c'est la bonne façon mais avec :
Private Sub Worksheet_Change(ByVal Target As Range)
' Quantité = 0 ?
' adapter le numéro de la colonne (ici 8)...
' et de ligne pour ne pas toucher aux lignes entête (ici 2)
If Target.Column = 8 _
And Target.Row >= 2 Then
If UCase(Target.Value) = "0" Then
Target.EntireRow.Interior.ColorIndex = 22
Target.Offset(0, -1).Font.ColorIndex = 22
Else
Target.EntireRow.Interior.ColorIndex = 0
End If
End If
End sub
Cela semble fonctioner :)
Merci beaucoup.