FAQ Microsoft Project
FAQ Microsoft ProjectConsultez toutes les FAQ
Nombre d'auteurs : 2, nombre de questions : 46, dernière mise à jour : 15 juin 2021
Cet extrait de code, affiche l'ensemble des tâches en console (Debug.print) de manière hiérarchique tout en utilisant la récursivité.
Sub
DisplayAllTasks
(
)
'[Facultatif] permet d'organiser l'affichage sur la console Debug
Dim
niveau As
String
niveau =
"+-"
'[/Facultatif]
'Premier appel de la fonction
GetChildTask ActiveProject.tasks
(
1
), niveau
End
Sub
'[Facultatif]
' Le paramètre "ByRef n As String" permet d'organiser l'affichage sur la console Debug
'[/Facultatif]
Sub
GetChildTask
(
t As
Task, ByRef
n As
String
)
'Variable permettant de compter le nombre de tâche enfant
Dim
nb_children As
Integer
'[Facultatif] permet d'organiser l'affichage sur la console Debug
Dim
indice As
Integer
n =
"+-"
For
indice =
1
To
t.OutlineLevel
n =
Chr
(
9
) &
n &
"-"
Next
Debug.Print
n &
t.Name
&
" has "
&
t.OutlineChildren.Count
'[/Facultatif]
'Récupération du nombre de tâche enfant de la tâche en cours
nb_children =
t.OutlineChildren.Count
'Si la tâche n'a pas de tâche enfant
If
nb_children =
0
Then
'Fin de la récursivité
Else
'Pour chaque enfant de la tâche
For
indice =
1
To
t.OutlineChildren.Count
'Faire appel à la récursivité
GetChildTask t.OutlineChildren.item
(
indice), n
Next
End
If
End
Sub