Automatic Milestone Completion2

E

explorer

Hi,

I am working on a large project that has over 2000 milestones. Milestones
are set to 0 hour duration and connected to their relevant tasks properly.
Questions:

1. Why a milestone is not updated automatically 100% complete when all their
relevant task are 100% complete? (I am comparing here to a Summary task, that
automatically gets updated to 100% when all the tasks below 100% complete.)

2. (I know question #1 is rethorical unless I don't know something), so the
real issue what can I do about. Please don't tell me the various manual
update uptions, I am already familiar with those. I am looking for a macro, a
formula or some kind of programmatic solution to ease the pain of manual
update of 2000 milestones.

Note: the issue is not the physical update of the milestones, the issue is
to figure out when all the predecessor of a milestone is done. I am talking
about monitoring probably over 10000 links here on the daily bases.

Please help before I go completely grey. (My company probably willing to pay
for a solution if it needs to be programmed.)

Thanks
 
R

Rod Gill

I suggest two parts to your solution:

Firstly 2000 milestones is way too many. Milestones are meant to mark key
events. With 2000 you will struggle to see the wood for the trees!
For example, I've seen a summary Task (example Write Report X) with sub
tasks and a milestone Report X complete. This milestone is redundant because
the end of the Summary Task denotes the end of report writing for report X.
So step one is to cull as many milestones as possible.

Secondly a VBA macro could easily loop through your milestones and set the
milestone to 100% complete when all its predecessors are complete. I would
create a filter called incomplete to make this much quicker.

The following code works provided there is only one predecessor for each
milestone. You will need to edit to handle multiple predecessors that may
have SS, FF or SF link types. Now as you mentioned money, I'm very happy to
quote for a final macro!

Sub UpdateMilestones()
Dim Tsk As Task
OutlineShowAllTasks
FilterApply "Incomplete Milestones"
SelectAll

For Each Tsk In ActiveSelection.Tasks
If ActiveProject.Tasks(CLng(Tsk.Predecessors)).PercentComplete = 100
Then
Tsk.PercentComplete = 100
End If
Next Tsk

FilterApply "All Tasks"
End Sub

--

Rod Gill
Project MVP

Project VBA Book, for details visit:
http://www.projectvbabook.com

NEW!! Web based VBA training course delivered by me. For details visit:
http://projectservertraining.com/learning/index.aspx
 
E

explorer

Thanks Rod,

That is exactly that the "doctor ordered". Unfortunately I don't have the
luxury to reduce the number of milestones, since management requires it. This
is a large multiyear complex project with 9000 tasks just in my subproject,
so the milestones are just reflection of the real world complexity. In any
case your solution sounds good, but we are using the Project Server 2003 so
it has to work in that context too. I would like to get that complete macro,
and maybe some others. How do I contact you privately for quote, through your
website?

Thanks,
 
J

Jan De Messemaeker

Hi,

You can try this one:

Sub Milestones_Reached
Dim Job as task
Dim Pred as task
Dim Reached as boolean

For each job in activeproject.tasks
If not job is nothing then
if job.milestone then
reached=true
for each pred in job.predecessortasks
if not pred.percentcomplete then reached=false
next pred
if reached then job.percentcomplete=100
end if 'milestone
end if 'is nothing
next job

end sub



Hope this helps,

--
Jan De Messemaeker
Microsoft Project Most Valuable Professional
+32 495 300 620
For availability check:
http://users.online.be/prom-ade/Calendar.pdf
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top