Excel - VB - Colorer une ligne
Résolu/Fermé
A voir également:
- Excel - VB - Colorer une ligne
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Partager photos en ligne - Guide
- Excel colorer une cellule si - Guide
6 réponses
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
16 sept. 2008 à 14:02
16 sept. 2008 à 14:02
Bonjour tout le monde
la macro ci dessous colorie la ligne( [6-156] entre colonnes A et P suivant la valeur indiquée dans la colonne J . La couleur est annulée si une nouvelle saisie n'est pas valable (critères sensibles à la casse)
comme l'indique Papou, tu as intérêt a créer une liste déroulante (si tu ne sais pas comment faire, regarde dans les astuces du site CCM)
Pour l'installer:
clic droit sur l'ongleet de ta feuille de travail
sélectionne "code"
copie colle la macro ci dessus
la macro ci dessous colorie la ligne( [6-156] entre colonnes A et P suivant la valeur indiquée dans la colonne J . La couleur est annulée si une nouvelle saisie n'est pas valable (critères sensibles à la casse)
comme l'indique Papou, tu as intérêt a créer une liste déroulante (si tu ne sais pas comment faire, regarde dans les astuces du site CCM)
Private Sub Worksheet_Change(ByVal Target As Range) Dim lig As Byte, plage As Range If Intersect(Target, Range("J6:J156")) Is Nothing Then: Exit Sub lig = Target.Row Set plage = Range(Cells(lig, 1), Cells(lig, 16)) Select Case Target Case Is = "En attente" plage.Interior.ColorIndex = 19 'Jaune pâle pour "En attente" Case Is = "Déclinée" plage.Interior.ColorIndex = 27 'Jaune foncé pour "Déclinée" Case Is = "En attente clt""" plage.Interior.ColorIndex = 34 'Bleu clair pour "En attente clt" Case Is = "Gagnée" plage.Interior.ColorIndex = 35 'Vert clair pour "Gagnée" Case Is = "Perdue" plage.Interior.ColorIndex = 3 'Rouge pour "Perdue" Case Is = "Terminée" plage.Interior.ColorIndex = 31 'Vert foncé pour "Terminée" Case Else plage.Interior.ColorIndex = -4142 ' enlève la couleur End Select Set plage = Nothing End Sub
Pour l'installer:
clic droit sur l'ongleet de ta feuille de travail
sélectionne "code"
copie colle la macro ci dessus
Merci beaucoup à tous !!!!
RailBird, j'ai compris le principe de ta macro et ai réussi à l'utiliser merci !!
Michel_m, après avoir donné un nom à la macro j'ai pu l'utiliser et ça marche également !!
Papou79, comment dire... Tu m'as fait tout le boulot !!
J'ai plus qu'à calquer mon fichier sur celui que tu m'as donné et ça roule !!
Je vais donc prendre ta solution (ne m'en voulait pas RailBird et Michel_m mais je n'ai pas suffisamment de temps pour me mettre au VB donc je prend le fichier déjà fait)
En tous cas un grand merci à vous tous !!!
En parcourant le forum ça m'a souvent aidé à trouver des réponses à mes soucis (exemple pour le listes déroulante de choix que je maîtrise maintenant), mais là je ne pensais pas qu'on m'aurait solutionné mon problème en moins d'une journée !!
Encore merci à tous et un grand bravo à Commentcamarche.net c'est vraiment un site super !!!
Merci beaucoup à tous !!
A bientôt,
Bien à vous,
KraaaL
PS : on peut locker ce topic et le mettre dans les résolus ;)
RailBird, j'ai compris le principe de ta macro et ai réussi à l'utiliser merci !!
Michel_m, après avoir donné un nom à la macro j'ai pu l'utiliser et ça marche également !!
Papou79, comment dire... Tu m'as fait tout le boulot !!
J'ai plus qu'à calquer mon fichier sur celui que tu m'as donné et ça roule !!
Je vais donc prendre ta solution (ne m'en voulait pas RailBird et Michel_m mais je n'ai pas suffisamment de temps pour me mettre au VB donc je prend le fichier déjà fait)
En tous cas un grand merci à vous tous !!!
En parcourant le forum ça m'a souvent aidé à trouver des réponses à mes soucis (exemple pour le listes déroulante de choix que je maîtrise maintenant), mais là je ne pensais pas qu'on m'aurait solutionné mon problème en moins d'une journée !!
Encore merci à tous et un grand bravo à Commentcamarche.net c'est vraiment un site super !!!
Merci beaucoup à tous !!
A bientôt,
Bien à vous,
KraaaL
PS : on peut locker ce topic et le mettre dans les résolus ;)
wilfried_42
Messages postés
907
Date d'inscription
mardi 19 août 2008
Statut
Contributeur
Dernière intervention
8 décembre 2009
244
16 sept. 2008 à 11:14
16 sept. 2008 à 11:14
bonjour
je te fournis une macro complementaire qui permet la mise en route de MFC pratiquement illimitées
https://www.cjoint.com/?jqlksHaX1h
Macro complementaire : Menu Outils / Macro complementaire / Parcourir / Cocher la macro
un fichier exemples : la feuille 2 t'interresse ainsi que la feuille MFC
https://www.cjoint.com/?jqlmGRbOFG
cette macro ne fait pas que cela, elle fait des MFC sonores, Par des dommentaires, Par des images, mais etant au boulot, je n'ai pas le fichier exemples complet
je te fournis une macro complementaire qui permet la mise en route de MFC pratiquement illimitées
https://www.cjoint.com/?jqlksHaX1h
Macro complementaire : Menu Outils / Macro complementaire / Parcourir / Cocher la macro
un fichier exemples : la feuille 2 t'interresse ainsi que la feuille MFC
https://www.cjoint.com/?jqlmGRbOFG
cette macro ne fait pas que cela, elle fait des MFC sonores, Par des dommentaires, Par des images, mais etant au boulot, je n'ai pas le fichier exemples complet
Sub Coloriage()
For i = 1 To 20
For j = 1 To 200
If ActiveSheet.Cells(i, j) = "GHV" Then
ActiveSheet.Cells(i, j).Interior.Color = RGB(185, 253, 208)
End If
Next
Next
End Sub
For i = 1 To 20
For j = 1 To 200
If ActiveSheet.Cells(i, j) = "GHV" Then
ActiveSheet.Cells(i, j).Interior.Color = RGB(185, 253, 208)
End If
Next
Next
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour vos réponses aussi rapides !
wilfried_42 :
j'ai fait exactement ce que tu m'as dit avec le premier fichier mais rien ne se passe...
Je ne peux toujours pas mettre plus de 3 MFC.
Pour le second fichier, j'ai à peu près compris comment celui-ci fonctionne, j'essaie de l'adapter à mon fichier.
Je te ferai un retour dès que j'aurai terminé.
RailBird :
Peux tu m'expliquer à quoi sert ta macro ?
Parce que je l'ai exécutée mais rien ne se passe...
Peux tu me donner plus d'informations STP ??
Encore merci à vous 2,
Bon app' !
KraaaL
wilfried_42 :
j'ai fait exactement ce que tu m'as dit avec le premier fichier mais rien ne se passe...
Je ne peux toujours pas mettre plus de 3 MFC.
Pour le second fichier, j'ai à peu près compris comment celui-ci fonctionne, j'essaie de l'adapter à mon fichier.
Je te ferai un retour dès que j'aurai terminé.
RailBird :
Peux tu m'expliquer à quoi sert ta macro ?
Parce que je l'ai exécutée mais rien ne se passe...
Peux tu me donner plus d'informations STP ??
Encore merci à vous 2,
Bon app' !
KraaaL
Papou79
Messages postés
36
Date d'inscription
samedi 29 mars 2008
Statut
Membre
Dernière intervention
13 novembre 2008
12
16 sept. 2008 à 13:42
16 sept. 2008 à 13:42
Bonjour Kraaal, les participants,
Je t'envoie un fichier exemple avec tes critères.
La liste des états se trouve en feuille 2. Les cellules "A6:A156" ont une liste déroulante contenant tes 6 états possibles. Il te sera très simple de modifier la liste le cas échéant.
La macro se déroule après saisie dans une des cellules de la feuille 1. Si la cellule modifiée n'est pas dans la zone "A6:P156", elle n'est pas exécutée.
Cliques sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200809/cijqync3a8.xls
Espérant t'avoir aidé.
Cordialement.
Je t'envoie un fichier exemple avec tes critères.
La liste des états se trouve en feuille 2. Les cellules "A6:A156" ont une liste déroulante contenant tes 6 états possibles. Il te sera très simple de modifier la liste le cas échéant.
La macro se déroule après saisie dans une des cellules de la feuille 1. Si la cellule modifiée n'est pas dans la zone "A6:P156", elle n'est pas exécutée.
Cliques sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200809/cijqync3a8.xls
Espérant t'avoir aidé.
Cordialement.
En gros, ma macro elle sert à colorer la/les cellules contenant le chaine "GHV" en vert clair ce qui était ta demande.
Sinon rien ne se passe.
Elle s'éxecute pour les lignes 1 à 20 et les colonnes 1 à 200 d'ailleurs faudrait changé par :
Sub Coloriage()
For i = 1 To 200
For j = 1 To 20
If ActiveSheet.Cells(i, j) = "GHV" Then
ActiveSheet.Cells(i, j).Interior.Color = RGB(185, 253, 208)
End If
Next
Next
End Sub
Maintenant la macro parcourt de la ligne 1 à 200, pour les colonnes 1 à 20.
Il est possible d'améliorer ce code afin de l'adapter à ton besoin.
Je pense que c'est le type de code que tu voulais.
Sinon rien ne se passe.
Elle s'éxecute pour les lignes 1 à 20 et les colonnes 1 à 200 d'ailleurs faudrait changé par :
Sub Coloriage()
For i = 1 To 200
For j = 1 To 20
If ActiveSheet.Cells(i, j) = "GHV" Then
ActiveSheet.Cells(i, j).Interior.Color = RGB(185, 253, 208)
End If
Next
Next
End Sub
Maintenant la macro parcourt de la ligne 1 à 200, pour les colonnes 1 à 20.
Il est possible d'améliorer ce code afin de l'adapter à ton besoin.
Je pense que c'est le type de code que tu voulais.