mercredi 6 juillet 2011

Comment mettre en couleur le titre d’une tâche

Je gère dans mon Gantt un certain nombre et type de tâche, notamment il m’arrive de faire un planning pour la gestion des anomalies et de certaine tâche de réalisation.

Dans mon cas, ce que je cherche à faire est de coloriser le fond de la cellule du titre si il contient le mot “Anomalie”

Tout d’abord ouvrir Visual Basic Editor :

image

Ensuite dans le fichier “ThisProject” ajouter le code suivant :

'Déclaration de la classe contenant les évènements de MS Prject
Dim e As New MyEvent

Private Sub Project_Open(ByVal pj As Project)
'Passage de l'application à la classe d'évènement
Set e.App = Application
'Passage du projet en cours à la classe d'évènement
Set e.Proj = Application.ActiveProject
End Sub

Créer un Module de Class nommé “MyEvent”

image

Et insérer le code suivant :

'Récupération des évènements sur l'application
Public WithEvents App As Application

'Récupération des évènements sur le projet
Public WithEvents Proj As Project

'---------------------------------------------------------------
'---------------------------------------------------------------
'
' Methode permettant d'effectuer des actions
' avant la modification d'une tâche, dans cet exemple
' je colori la ligne si dans le titre le mot 'Anomalie' est trouvé
'
'---------------------------------------------------------------
'---------------------------------------------------------------
Private Sub App_ProjectBeforeTaskChange(ByVal t As Task, ByVal Field As PjField, ByVal NewVal As Variant, Cancel As Boolean)
If (Field = pjTaskName) Then
If NewVal Like "*Anomalie*" Then
ActiveCell.CellColor = pjRed
Else
ActiveCell.CellColor = pjWhite
End If
End If
End Sub

Maintenant enregistrer le fichier, fermer MS Project et réouvrir MS Project et le projet en question. Ajouter une tâche contenant le mot “Anomalie” et regarder le résultat:


image