Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Project 2016 : Les macros

Utiliser une macro relative de formatage de barre

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Découvrez une macro relative de formatage d'une tâche active. Corrigez le code VBA pour que la macro fonctionne totalement conformément à vos attentes.
08:53

Transcription

Nous allons voir maintenant un exemple avec le concept de macro relatives en ligne, Et on va voir qu'il y a une différence significative avec Excel qui fait que ceux qui utilisent les macros project et qui ne connaissent pas le VBA souvent ne s'en sortent simplement pas. Alors qu'est-ce que c'est les macros relatives en ligne? Ce sont des macros qui comme les macros relatives Excel n'enregistrent que le déplacement par rapport au point de référence où se trouve votre souris. Cela voudrait dire normalement si on se réfère à Excel que si on est ici sur la ligne 8 par exemple et que l'on enregistre la macro et que plus tard on l'exécute, indépendamment de la ligne qui est sélectionnée, Il devrait faire, du moins si on s'inspire d'Excel, Eh bien, l'exécution de la macro sur la ligne 11. Pourquoi? Parcequ'en fait si lors de l'enregistrement on s'est pas déplacé Eh bien la macro ne dit pas: < du moins si on compare avec Excel. Et si aussi on compare avec Excel et qu'on enregistre la macro par exemple sur la ligne 5 au début puis pendant l'enregistrement on se déplace à la ligne 10, eh bien on a fait un déplacement de 5 vers le bas, eh bien lorsque cette macro sera exécutée et puis que tout d'un coup quelqu'un se trouve à la ligne 12, cette macro en fait fera l'action 5 lignes plus bas à la ligne 17. Alors vous allez me dire: < project où on se déplace un certain nombre de lignes vers le bas? Alors franchement non. J'ai jamais vu de macros, je dis bien macros, pas VBA, ce n'est pas la même chose, où on se déplace un nombre constant de lignes vers le bas. Par contre, ce qui est très fréquent c'est que l'on veuille qu'une macro s'exécute sur la ligne en cours. Et ce, donc on ne peut pas utiliser les macros absolues sinon ça ferait toujours sur la ligne 8. Alors faisons un cas courant de macros très demandées en relatif. C'est une macro qui va formater une tâche d'une manière particulière. Alors allons-y, on va dans notre onglet < < on va l'appeler < donc sous-entendu, l'idée c'est de dire c'est le formatage d'une tâche relativement aux règles internes à l'organisation, on met pas de raccourci clavier comme à l'habitude, on dit que ça doit être dans ce projet puis pour la description on va mettre < parce que de toutes façons on a compris le principe. Maintenant référence de lignes justement, on va se mettre en relatif. Ensuite les références des colonnes, ça n'a aucune importance parcequ'on va pas manipuler une colonne particulière. On fait un < et puis maintenant voilà ce que l'on aimerait: c'est que cette macro elle change la couleur de la tâche active et également les textes qui s'y trouvent. Alors pour ce faire, la tâche qui est actuellement ici active on va faire un clic droit sur son dessin on va aller dans < et ensuite là, je vais mettre par exemple ici une couleur un peu on va dire, orange sombre avec pourquoi pas un motif < entre guillements < ensuite texte de la barre on pourrait tout à fait dire qu'à gauche on veut le <<% achevé et à droite on veut les initiales des ressources. Voilà on fait < donc comme vous pouvez le voir, là ça joue on a effectivement la tâche de la barre qui est rouge avec un % à gauche et l'initiale de la ressource à droite et on arrête l'enregistrement de cette macro. Et maintenant si effectivement les macros relatives fonctionnent sur le même principe que dans Excel, eh bien lorsque j'exécute cette macro par exemple sur une autre tâche qui serait celle-la là bon ça c'est l'enregistrement automatique, voilà donc on disait, si j'exécute la macro sur cette tâche 16 donc de la ligne 16 eh bien il devrait la formater puisque il faut vous rappeler que quand on vient d'enregistrer cette macro tout à l'heure, à aucun moment je n'ai sélectionné de ligne de tâche j'ai juste fait un clic droit sur la tâche en cours. Donc si vraiment ça fonctionne comme dans Excel, il ne va pas dire : < qui était celle qui a été modifiée c'est- à- dire celle de la ligne 8. Alors vérifions si c'est vraiment comme dans Excel, On sélectionne donc la ligne 16 < et ici on va prendre donc < et on fait <. Et là, surprise, rien ne se passe. Et en fait, il faut savoir que si, il y a quelque chose qui s'est passé. En fait, il a reformaté ici la tâche de la ligne 8. Et je peux vous en faire la démonstration si je vais par exemple à la main remettre ici allez on va garder le motif on va remettre le standard et la couleur on va remettre un bleu. Et puis dans le texte de la barre on enlève ce qu'il y a pour remettre la valeur initiale. Eh bien regardez, si on descend sur une autre tâche et qu'encore un fois j'exécute la macro qu'on vient de créer, eh bien à notre grande surprise, en fait, il pointe toujours sur la même tâche. Alors vous allez me dire donc: < en fait, Faux! Elles marchent très bien et comme dans Excel, dés le moment où lors de l'enregistrement de la macro on fait un déplacement. Ca veut dire qu'on descend 5 lignes au-dessous ou on monte 5 lignes au-dessus. Ca veut dire que lorsqu'on exécutera la macro, eh bien la macro va faire un déplacement. Par contre, lorsqu'on ne fait aucun déplacement c'est complètement différent d'Excel. C'est-à-dire que dans Excel, il va prendre la cellule qui est en cours et exécuter la macro dessus. Alors que Project, peu importe qu'on avait cliqué sur aucune tâche lors du début de l'enregistrement de la macro, il va toujours faire sur la même macro. Alors comment corriger le tir? Eh bien en fait il faut aller dans < prendre notre macro, et modifier encore une fois son code VBA. Là si on regarde, il dit bien < Donc effectivement il est bien en relatif, dans le sens qu'il ne fait aucun déplacement. Par contre quand on formate la tâche, c'est là que ça coince justement. C'est que Microsoft a créé ici une méthode VBA qui est telle qu'elle utilise le numéro de la tâche. Et pour le coup, ça casse tout le concept de notre formatage. Alors là il faut que l'on connaisse la commande VBA qui permet de dire la tâche en cours et c'est la commande qui s'appelle < Donc ça veut dire: < en utilisant son numéro d'identifiant, qui est donc le numéro de ligne. Et là, si on ferme l'éditeur VBA, qu'on fait un < qu'on prend un < et que l'on fait un <, ben comme on peut le voir ça marche parfaitement cette fois-ci. Donc voilà, ceci étant fait, maintenant on procède comme on a l'habitude on va donc créer un bouton donc on va dans la barre d'accès rapide < on peut aller prendre le groupe des macros ici dire que ça doit suivre le fichier, on va aller prendre <; on va modifier, on va prendre ici un bouton avec un certain style, on va l'appeler <, on fait <, < Comme d'habitude on peut tester la macro via la barre d'accès rapide, on voit qu'elle fonctionne, et on fait pareil dans notre petit onglet, clic droit, < on sélectionne le groupe < à gauche on va chercher le groupe <, on prend aussi <; on fait un <, on met < et on va prendre, ici, eh bien, le <, on fait <, <, on sélectionne une autre tâche, on clique sur le bouton et on vérifie que ça marche et c'est tout bon. Donc voilà pour un exemple de macros relatives par rapport aux lignes, avec la petite correction nécessaire en VBA pour avoir, ce qui souvent pose problème aux gens qui suivent ou essaient de faire des cours macros et qui ne connaissent pas le VBA et donc, qui pour le coup sont coincés.

Project 2016 : Les macros

Automatisez des tâches simples, sans interactions avec l’utilisateur et sans variables, et ce, sans faire de code informatique. Débutez dans le langage de programmation VBA.

2h22 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :25 oct. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !