Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 25/10/2005, 15h47   #1 (permalink)
XLDnaute Occasionel
 
Date d'inscription: octobre 2005
Messages: 155
Par défaut couleur de ligne en fonction du contenu d1 cellule

Re bonjour à tous,
voilà, je dois gérer dans un tableau des commandes: refusées, accéptées ou en cours. Un tableau regroupe totues les données des commandes et à la fin de chaque ligne une cellule contient une des valeurs suivantes:
_en cours
_acceptées
_refusées

Mais pour que cela soit plus voyant, je voudrais modifié la couleur du texte de la ligne en fonction de la valeur affiché à la fin des lignes.
J'ai essayé avec une boucle If comme suit:

Dim coul As Range

If coul.Value = 'accepté' Then
coul.Row.Font.ColorIndex = 43

ElseIf coul.Value = 'refusé' Then
coul.Row.Font.ColorIndex = 5

ElseIf coul.Value = 'en attente' Then
coul.Row.Font.ColorIndex = 3

Mais ce n'est apparement pas la bonne méthode: la propriété 'Row' semble fausse; quelle propriété dois-je utiliser?

Merci d'avance, a +
Toutou
Toutou est déconnecté   Réponse avec citation
ANNONCES
Vieux 25/10/2005, 16h23   #2 (permalink)
XLDnaute Occasionel
 
Date d'inscription: octobre 2005
Messages: 126
Par défaut Re:couleur de ligne en fonction du contenu d1 cellule

Salut toutou,

je te propose le code suivant pour résoudre ton problème de mise forme qui se trouve également dans le fichier joint (s'il passe):

Sub MiseEnForme
'
' MiseEnForme
' Macro enregistrée le 25/10/2005 par Guillaume JOLLY
'

Dim jDepart As Integer
Dim FeuilleDepart As Variant

Set FeuilleDepart = ActiveWorkbook.Sheets('feuil1')


jDepart = 1

'parcours du tableau
Do While FeuilleDepart.Cells(jDepart, 1).Value <> ''

'remplissage des cellule de la feuille d'arrivée

'si 'accepé' la cellule de la valeur est coloré en mauve
If FeuilleDepart.Cells(jDepart, 1) = 'accepté' Then
FeuilleDepart.Rows(jDepart).Interior.ColorIndex = 39
End If

'si 'refusé la cellule de la valeur est coloré en vert pâle
If FeuilleDepart.Cells(jDepart, 1) = 'refusé' Then
FeuilleDepart.Rows(jDepart).Interior.ColorIndex = 43
End If

'si en attente la cellule de la valeur est coloré en bleu pâle
If FeuilleDepart.Cells(jDepart, 1) = 'en attente' Then
FeuilleDepart.Rows(jDepart).Interior.ColorIndex = 33
End If


'mise à jour des compteur de position
jDepart = jDepart + 1
Loop


End Sub

C'est une boucle qui parcour ton tableau tant qu'elle ne trouve pas de case vide. Adapte là à ton problème.

N'hésite pas a demander si tu te pose des questions

Bon courrage
anuky est déconnecté   Réponse avec citation
Vieux 25/10/2005, 16h24   #3 (permalink)
XLDnaute Barbatruc
 
Avatar de Robert
 
Date d'inscription: février 2005
Localisation: Sète
Version Excel : Excel 2003 (PC)
Messages: 2 878
Par défaut Re:couleur de ligne en fonction du contenu d1 cellule

Bonjour Toutou, bonjour le forum,

tu ne définis par coul dans ta macro. Dans l'exemple qui suit, j'ai considéré que la dernière colonne éditée de chaque ligne était F (tu adapteras...) :


Citation:
Sub Macro1()
Dim coul As Range

For Each coul In Range('F1:F' & Range('F65536').End(xlUp).Row) 'colonne à adapter

If coul.Value = 'accepté' Then
coul.EntireRow.Font.ColorIndex = 43

ElseIf coul.Value = 'refusé' Then
coul.EntireRow.Font.ColorIndex = 5

ElseIf coul.Value = 'en attente' Then
coul.EntireRow.Font.ColorIndex = 3

End If

Next coul
End Sub
Édition

Bonjour Anuki on s'est croisés...

Message édité par: Robert, à: 25/10/2005 16:28
__________________
À plus

Robert
Robert est déconnecté   Réponse avec citation
Vieux 25/10/2005, 16h25   #4 (permalink)
XLDnaute Occasionel
 
Date d'inscription: octobre 2005
Messages: 126
Par défaut Re:couleur de ligne en fonction du contenu d1 cellule

je vais essayer de joindre à nouveau le fichier, si ça ne marche pas tu as toujour le code

A+ [file name=Classeur1_20051025162531.zip size=7205]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20051025162531.zip[/file]
Fichiers attachés
Type de fichier : zip Classeur1_20051025162531.zip (7,0 Ko, 1 affichages)
anuky est déconnecté   Réponse avec citation
Vieux 25/10/2005, 16h28   #5 (permalink)
XLDnaute Nouveau
 
Date d'inscription: octobre 2005
Messages: 29
Par défaut Re:couleur de ligne en fonction du contenu d1 cellule

Bonjour

Tu peux faire cela si tu veux.

Sub toto()
Dim CELL As Range
For Each CELL In Range('A1:A10')
If CELL = 'accepté' Then
Range(CELL.Row & ':' & CELL.Row).Font.ColorIndex = 43
ElseIf CELL = 'refusé' Then
Range(CELL.Row & ':' & CELL.Row).Font.ColorIndex = 5
ElseIf CELL = 'en attente' Then
Range(CELL.Row & ':' & CELL.Row).Font.ColorIndex = 3
End If
Next
End Sub

A plus tard
Christophe
Nikolaï est déconnecté   Réponse avec citation
Vieux 25/10/2005, 16h31   #6 (permalink)
XLDnaute Accro
 
Avatar de Gael
 
Date d'inscription: mai 2005
Localisation: Inzinzac-Lochrist
Version Excel : Excel 2000 (PC)
Messages: 1 531
Par défaut Re:couleur de ligne en fonction du contenu d1 cellule

Bonjour Toutou, Bonjour Anuky, bonjour Robert,

Pourquoi pas tout simplement avec une MFC.

Si la dernière cellule est en colonne I par exemple, une MFC sur toutes les colonnes de A à I avec 3 formules du type:

=$I3='Accepté' ==> motif couleur 1
=$I3='En cours' ==> motif Couleur 2
=$I3='Refusé' ==> motif couleur 3

A recopier sur toutes les lignes souhaitées.

@+

Gael

Pardon, Nikolaï, je ne t'avais pas vu, Bonjour à toi aussi.

@+

Gael

Message édité par: Gael, à: 25/10/2005 16:32
Gael est déconnecté   Réponse avec citation
Vieux 25/10/2005, 16h39   #7 (permalink)
gibi
Guest
 
Messages: n/a
Par défaut Re:couleur de ligne en fonction du contenu d1 cellule

bonjour,



ceci marche mieux


For Each l In Selection.Rows
If l.Cells(1, 1).Value = 'accepté' Then

l.Font.ColorIndex = 43

ElseIf l.Cells(1, 1).Value = 'refusé' Then
l.Font.ColorIndex = 5

ElseIf l.Cells(1, 1).Value = 'en attente' Then
l.Font.ColorIndex

End If

Next

a adapter bien sur
  Réponse avec citation
Vieux 25/10/2005, 18h02   #8 (permalink)
XLDnaute Occasionel
 
Date d'inscription: octobre 2005
Messages: 155
Par défaut Re:couleur de ligne en fonction du contenu d1 cellule

Bobnjour ou Re-bonjour à tous,
Merci de vous être arrété sur mon problème,
pour l'instant je n'ai essayé que la proposittion de Robert (qui fonctionne bien) car c'était la plus rapide à réaliser.
Je vous tiendrait au courant surement demain pour les autres codes;
Encore merci beucoup pour votre aide précieuse, bonne soirée,
@ +
Toutou
Toutou est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 00h00.


(C) 2006 Excel Downloads