MS Project Modifier la couleur du texte dans la ligne en fonction du champ d'état

1

Je cherche à changer la couleur du texte pour une ligne entière en fonction de ce qui est indiqué dans le champ "Statut".

J'ai cherché d'autres forums et j'ai trouvé des solutions proches, mais rien ne fait vraiment ce que je cherche. Je suis conscient de la fonctionnalité de surbrillance et de la mise en forme conditionnelle, mais je ne peux pas leur demander de faire ce dont j'ai besoin. J'ai écrit du code VB pour faire la même chose il y a environ 5 ans, mais je suis un novice. Il m'a fallu environ 5 jours pour écrire le code de base, puis je l'ai perdu lorsque j'ai quitté mon dernier emploi. :-(

Donc, je cherche juste à avoir une VBA qui fera ce qui suit:

  • Si Status = "Late", colorez le texte de la ligne en "RED"
  • Si Status = "On Schedule", colorez le texte de la ligne en "GREEN".
  • Si Status = "Future Task", colorez le texte de la ligne en "BLACK".
  • Si Status = "Complete", colorez le texte de la ligne en "GRIS".

J'aimerais beaucoup progresser et avoir quelque chose comme ce qui suit: Si Statut = "En cours", ET% achevé est & lt; 85%, et la "date de fin" est & lt; 5 jours à l’avenir, puis coloriez le texte dans la ligne "ORANGE"

Cobra75007
la source
Cela ressemble à un travail de mise en forme conditionnelle. Qu'as-tu essayé qui n'a pas fonctionné? Comment ça n'a pas fonctionné? Dans Excel, par exemple, sélectionnez votre zone de données et utilisez la mise en forme conditionnelle sur la colonne à l'aide d'une formule =$E1="Late" vérifie la valeur de toute la colonne de zone sélectionnée E, puis applique le formatage à la ligne entière. Je ne suis pas trop adepte du projet car je ne l'ai pas.
Raystafarian
Oui, MS Project n'a pas le même type de fonction "Mise en forme conditionnelle" qu'Excel.
Cobra75007
Vous n'avez répondu à aucune des questions
Raystafarian

Réponses:

0

Sub CompletePercentSub ()

Dim t As Task Dim i comme entier

'Itère dans tout le fichier de projet ms

i = 1 Pour chaque t dans ActiveProject.Tasks

SelectRow Row:=i, RowRelative:=False

If Not t Is Nothing Then

    Select Case t.Status
        Case 0 'Complete
            Font32Ex CellColor:=&H98FB98 'LIGHT GREEN
        Case 1 'On Schedule
            Font32Ex CellColor:=&HE0FFFF 'TAN
        Case 2 'Late
            Font32Ex CellColor:=&HC0FF& 'LIGHT RED
        Case 2 'Future Task
            Font32Ex CellColor:=&HFFFFFF 'WHITE
    End Select
End If

i = i + 1

Suivant

End Sub

user760527
la source
Veuillez clarifier et ajouter un peu plus de contexte à cette réponse pour transmettre ce que vous suggérez exactement.
Pimp Juice IT