Événement Project.Change (Project)
Se produit lorsqu'une modification est apportée aux données du projet. Une action qui concerne plusieurs éléments en même temps est considérée comme une seule modification.
Syntaxe
expression. Change
( _pj_
)
Expression Variable qui représente un objet Project .
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
Pj | Requis | Project | Projet qui a été modifié. |
Valeur renvoyée
Nothing
Remarques
L’événement Change n’a pas lieu pour les actions, telles que le passage d’un affichage à un autre, l’application de filtres, les modifications de mise en forme, etc.
Les événements de projet ne se produisent pas lorsque le projet est incorporé dans un autre document ou une autre application.
Exemple
L’exemple suivant montre comment l’événement ProjectTaskNew peut intercepter les événements au niveau du projet. Dans ce cas, le gestionnaire d’événements App_ProjectTaskNew définit la variable globale ProjTaskNew utilisée par le gestionnaire d’événementsChange. Utilisez du code similaire avec les événements ProjectResourceNew et ProjectAssignmentNew .
- Créez un module de classe nommé EventClassModule et insérez le code suivant :
Option Explicit
Option Base 1
Public WithEvents App As Application
Public WithEvents Proj As Project
Dim NewTaskIDs() As Integer
Dim NumNewTasks As Integer
Dim ProjTaskNew As Boolean
Private Sub App_ProjectTaskNew(ByVal pj As Project, ByVal ID As Long)
NumNewTasks = NumNewTasks + 1
If ProjTaskNew Then
ReDim Preserve NewTaskIDs(NumNewTasks) As Integer
Else
ReDim NewTaskIDs(NumNewTasks) As Integer
End If
NewTaskIDs(NumNewTasks) = ID
ProjTaskNew = True
End Sub
Private Sub Proj_Change(ByVal pj As Project)
Dim NewTaskID As Variant
If ProjTaskNew Then
For Each NewTaskID In NewTaskIDs
MsgBox "New Task Name: " & ActiveProject.Tasks.UniqueID(NewTaskID).Name
Next NewTaskID
NumNewTasks = 0
ProjTaskNew = False
End If
End Sub
- Dans un autre module, insérez le code suivant :
Option Explicit
Dim X As New EventClassModule
Sub Initialize_App()
Set X.App = MSProject.Application
Set X.Proj = Application.ActiveProject
End Sub
Exécutez la procédure Initialize_App pour démarrer l’audition des événements.
Créez une tâche. Le gestionnaire d’événements entraîne alors l’affichage d’un message contextuel à chaque ajout d’une nouvelle tâche.
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.