aide macro excel ...coloriage automatique de ligne - Résolu

aide macro excel ...coloriage automatique de ligne - Résolu - Logiciels - Windows & Software

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
Reply

Marsh Posté le 13-12-2004 à 14:23:55   

Reply

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.

Reply

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!

Reply

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


Message édité par kaki33 le 13-12-2004 à 15:13:22
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed