Comment créer une macro de tri dans Microsoft Project

Méthodes et Arguments
Vidéo non disponible ! Réessayez plus tard
Cette vidéo fait partie de la formation
Programmez Microsoft Project 2016 avec les macros et VBA
Revoir le teaser Je m'abonne
Transcription

49,90€ Je commande

À partir de
27€ /mois
Je m'abonne à Elephorm

Description Programme Avis

49,90€ Je commande

À partir de
27€ /mois
Je m'abonne à Elephorm

Les objectifs de cette vidéo sont de :

  • Comprendre comment créer et organiser des macros dans Microsoft Project.
  • Apprendre à utiliser l'éditeur Visual Basic pour écrire des méthodes de tri.
  • Maîtriser l'utilisation des arguments de la méthode Sort.
  • Découvrir comment renuméroter les lignes après un tri.

Découvrez comment créer une macro pour trier les tâches dans Microsoft Project en utilisant Visual Basic.

Dans cette leçon, nous allons explorer l'utilisation d'une méthode pour créer une macro capable de trier les tâches dans Microsoft Project. Tout d'abord, nous entrerons plusieurs tâches avec des durées variées. Ensuite, nous passerons à l'éditeur Visual Basic pour écrire le code de tri.

Le processus inclut la création d'un nouveau module, la construction de la macro en utilisant l'objet Application et la méthode Sort pour spécifier les critères de tri (durée, ordre croissant ou décroissant). Nous explorerons également comment renuméroter les lignes après le tri.

Enfin, nous testerons deux approches différentes pour exécuter cette opération: la première en suivant l’ordre des arguments, et la seconde en appelant explicitement les arguments par leur nom. Cela vous permettra d'acquérir une compréhension approfondie des options disponibles lors de la création de macros dans Microsoft Project.

Voir plus
Questions réponses
Quelle méthode est utilisée pour trier les tâches dans le code VBA de Microsoft Project ?
La méthode utilisée est Sort accessible via l'objet Application.
Comment spécifier que le tri doit se faire sur la colonne Durée ?
Dans la méthode Sort, la première clé de tri est spécifiée comme 'Duration' entre guillemets.
Quelles sont les deux manières de donner les arguments dans la méthode Sort ?
Les arguments peuvent être donnés dans l'ordre prévu ou explicitement spécifiés par leur nom avec la syntaxe nom: = valeur.
Voyons maintenant un exemple d'utilisation d'une méthode. Pour cela, j'ai d'abord besoin d'une petite mise en scène dans Project. Je vais donc revenir sur le logiciel Project lui-même. Et mon objectif est de créer une macro, un sub, qui permettra d'exécuter un tri de l'ensemble de mes tâches. Un tri, par exemple, à partir comme critère de la colonne durée. Pour cela, je vais rentrer plusieurs tâches, avec pour chacune d'elles une indication d'une certaine durée. Tâche A, tâche B. La tâche B, elle fera 3 jours. Et la tâche C fera 1 jour. Et je termine avec une tâche D, qui fera 5 jours. Voilà. Je reviens maintenant dans l'éditeur Visual Basic. Préalable par prudence, je clique sur la disquette pour bien enregistrer. C'est fait. Et là, je reviens dans l'éditeur VB. Je vais créer un nouveau module. Je fais un clic droit sur l'un des modules existants. Insertion, modules. On peut créer autant de modules qu'on le souhaite, et on peut ranger les subs dans n'importe quel module. Je peux éventuellement ce module l'appeler tri. Voilà. Et je reviens sur la page de code. Je vais construire un sub que je vais appeler tri underscore 1. On fera deux exemples. Dans ce premier exemple, je vais donner une instruction de tri qui s'exécutera chaque fois qu'on lancera le sub. Pour ça, je vais appeler l'application. Parce qu'un tri, ça ne se réfère pas au projet en cours. On va trouver les instructions du tri dans l'application Project elle-même. Application, point. Le tri, en anglais, c'est sort. Je fais un espace. Et là, il y a une infobule qui me donne tous les arguments disponibles pour un tri. Il y a k1 ascending 1, première clé de tri, c'est-à-dire le nom de la colonne sur laquelle il faudra trier. Deuxième argument, l'ordre de tri. Est-ce qu'il sera croissant ou décroissant ? Et puis ensuite, on continue avec des couples de clés de tri. On accepte trois clés de tri différentes. Il y a aussi la propriété renumber. Vous savez que dans Project, quand vous faites un tri, ça, ça diffère d'Excel. Vous pouvez demander en plus la possibilité de renuméroter les lignes. Alors ici, après le tri, je ne fais pas de parenthèse, mais un espace. Lorsque la méthode est utilisée de cette façon, il n'y a pas de signe égal sur la ligne. Il n'y aura pas de parenthèse. Maquet 1, je dois l'indiquer entre guillemets cette fois. Duration, et je ferme le guillemet. Virgule, qui est le séparateur d'arguments. Ascending, alors pour la première clé, ça sera croissant ou décroissant ? Je vais dire que ce sera croissant. Ascending, oui, donc true. Et je fais la touche entrée pour valider ma ligne. Mon trou prend bien sa majuscule. Il est en plus de couleur bleue. Il me reste à exécuter ce sub. Je fais la touche F5. Apparemment, pas d'erreur. Je reviens dans Project et je vérifie l'ordre de mes tâches. Elles sont bien triées dans l'ordre croissant. Je reviens dans mon code. Vous observez aussi qu'elles sont bien triées en ordre croissant et qu'elles portent toujours le même numéro. Je reviens dans le code. Si j'avais mis l'option sort à false, ce que je corrige ici, je réexécute par F5. Si je reviens dans Project, je vais me contenter de déplacer ma fenêtre. Vous voyez qu'elles sont bien en ordre descendant. Je vais faire un autre test. Je vais créer quelques lignes vierges après le end sub. Les lignes vierges sont complètement ignorées, donc pas d'importance. Je vais faire un sub tri underscore 2. On va refaire la même chose, mais une petite différence dans notre syntaxe. Application, point, sort. Il m'a tout de suite proposé dans la liste un espace. Et là, une autre méthode. Lorsque les arguments ne sont pas donnés dans l'ordre prévu, il est possible de les appeler par leur nom. Quand il y a beaucoup d'arguments, c'est une solution qui est assez pratique. Par exemple, je peux tout à fait envisager de commencer à l'envers et de dire ascending. Attention à l'orthographe, là il n'y a pas d'aide. Ascending, ascending 1. Attention, il faut bien lui faire comprendre que ça va se référer à la première clé de tri. Deux points égales. Deux points égales, c'est sa façon de faire comprendre que juste avant, on a donné le nom du paramètre et juste après, on va donner sa valeur. Sa valeur, ça sera par exemple true virgule. Ensuite, la première clé qui est deux points égales. Et là, ça sera duration. Je vais faire mon guillemet, c'est parfait. Et puis, peut-être que je souhaite aussi renuméroter. Je vais dire virgule. Et j'attaque directement l'argument renumber. Deux points égales. Donc je saute les arguments 2 et 3. Qui est 2 et qui est 3. Renumber. Oui, je veux renuméroter. Je vais dire true. Très utile quand on fait des tris sur les ressources notamment. Voilà, donc il renumérotera. Je fais F5. Ah, erreur de compilation. Donc vous voyez ici, il y a un oubli dans ma ligne de code. Il n'a même pas pu tenter de l'exécuter. Donc ce n'est pas le même type d'erreur que dans l'exercice précédent. Simplement, il me dit, là j'essaye d'évaluer la ligne. Mais ça ne correspond pas à mon langage. Il y a quelque chose que je ne comprends pas. Argument introuvable. Alors je valide par OK. Il est bien toujours en exécution, mais arrêté sur la ligne du sub. Il n'a pas pu interpréter correctement une des lignes. Mais il ne me dit pas laquelle. C'est donc moi qui, en regardant de plus près, constate tout de suite que sur l'argument QUAY, j'ai oublié le chiffre de l'argument QUAY1. Parfait. Je fais F5 pour continuer l'exécution. Et si je regarde sur PROJECT, voilà, elles sont bien triées maintenant en ordre croissant. Et elles ont été renumérotées. La tâche A est devenue la tâche numéro 2.

Programme détaillé de la formation

Nos dernières formations Microsoft Project