aide macro excel ...coloriage automatique de ligne - Résolu - Logiciels - Windows & Software
Marsh Posté le 13-12-2004 à 14:31:32
Et comment ça pourrait marcher ?
UCASE : Valeur chaine en MAJUSCULE
"Jumper rouge" n'est pas en majuscule.....
Maintenant, t'es sûr que ça marche pas non plus pour "AVENSIS" ?
Le mieux serait de filer un document avec la macro (change les valeurs si cela cause problème que je (ou d'autres ) regarde.
Marsh Posté le 13-12-2004 à 14:49:21
ton code modifier:
Option Compare Text
Sub ColorierLignes()
Dim c As Range
For Each c In ActiveSheet.Range("a1:c50" )
If (c.Value = "Jumper rouge" ) Then
c.EntireRow.Interior.Color = RGB(200, 0, 255)
ElseIf (c.Value = "C8" ) Then
c.EntireRow.Interior.Color = RGB(100, 100, 100)
ElseIf (c.Value = "Jumper-vert" ) Then
c.EntireRow.Interior.Color = RGB(14, 200, 20)
ElseIf (c.Value = "AVENSIS" ) Then
c.EntireRow.Interior.Color = RGB(124, 100, 0)
ElseIf (c.Value = "Toyota Verso" ) Then
c.EntireRow.Interior.Color = RGB(133, 100, 0)
ElseIf (c.Value = "3001" ) Then
c.EntireRow.Interior.Color = RGB(144, 100, 0)
ElseIf (c.Value = "3011" ) Then
c.EntireRow.Interior.Color = RGB(133, 100, 0)
ElseIf (c.Value = "3018" ) Then
c.EntireRow.Interior.Color = RGB(133, 100, 0)
ElseIf (c.Value = "Jumper 1" ) Then
c.EntireRow.Interior.Color = RGB(200, 100, 0)
ElseIf (c.Value = "3016 Master" ) Then
c.EntireRow.Interior.Color = RGB(133, 100, 0)
End If
Next
End Sub
ça fonctionne!
Marsh Posté le 13-12-2004 à 15:10:48
Merci Pupoul et tigrou
Le probleme venait bien des majuscules !!!
Et pour avensis çela fonctionnait bien (mais je venais de le taper à la place d'un autre véhicule)et c'est un véhicule qui se doit pas figuer dans le programme
pb résolu
A charge d'aider qq'un un de ces jours !!
Tigrou j'etais entrain de tester la soluce de Pupoul d'ou edit de post
bon je retourne bosser
Marsh Posté le 13-12-2004 à 14:23:55
bonjour
j'ai besoin que les lignes d'un tableau se colorient automatiquement grace à une macro
- La couleur varie en fonction de la valeur de la 1ère cellule de la ligne
le probleme c'est que cela fonctionne parfaitement pour des chiffres par pas pour des caractères
(ma valeur a tester correspond au nom d'un véhicule qui peut etre un chiffre ou un nom)
voila la macro
Sub ColorierLignes()
Dim c As Range
For Each c In ActiveSheet.Range("a1:c50" )
If UCase(c) = "Jumper rouge" Then
c.EntireRow.Interior.Color = RGB(200, 0, 255)
ElseIf UCase(c) = "C8" Then
c.EntireRow.Interior.Color = RGB(100, 100, 100)
ElseIf UCase(c) = "Jumper-vert" Then
c.EntireRow.Interior.Color = RGB(14, 200, 20)
ElseIf UCase(c) = "AVENSIS" Then
c.EntireRow.Interior.Color = RGB(124, 100, 0)
ElseIf UCase(c) = "Toyota Verso" Then
c.EntireRow.Interior.Color = RGB(133, 100, 0)
ElseIf UCase(c) = "3001" Then
c.EntireRow.Interior.Color = RGB(144, 100, 0)
ElseIf UCase(c) = "3011" Then
c.EntireRow.Interior.Color = RGB(133, 100, 0)
ElseIf UCase(c) = "3018" Then
c.EntireRow.Interior.Color = RGB(133, 100, 0)
ElseIf UCase(c) = "Jumper 1" Then
c.EntireRow.Interior.Color = RGB(200, 100, 0)
ElseIf UCase(c) = "3016 Master" Then
c.EntireRow.Interior.Color = RGB(133, 100, 0)
End If
Next
End Sub
ça fonctionne pour 3011, c8 mais pas pour jumper-vert, avensis , etc
merci pour votre aide
Message édité par kaki33 le 13-12-2004 à 15:15:22