Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Project 2016 : Les macros

Saisir automatiquement des informations avec une macro absolue en colonne

Testez gratuitement nos 1336 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Étudiez une macro absolue pour travailler les colonnes de manière approfondie. Abordez le problème de l'enregistrement d'une macro qui exécute une macro.
10:15

Transcription

Nous allons poursuivre maintenant dans les macros absolues pour aller à un niveau de détail encore supérieur, pour maintenant voir un cas pertinant d'utilisation des macros absolues avec les colonnes en absolue. Alors pour ceci il faut savoir qu'il y a parfois une macro qui est demandée qui est la suivante: Il y a des entreprises qui utilisent « Project » uniquement pour gérer en fait, des échéanciers. C'est-à-dire avoir une liste de tâches toutes simples et qui au jour le jour doit se remplir juste pour faire du suivi des activités des collaborateurs. Vous vous rappelez précédemment que je vous ai montré comment faire une macro qui était absolue en ligne et qui permettait donc d'ajouter automatiquement une nouvelle ligne à la ligne 1 de la table d'entrée. Eh bien maintenant nous allons voir comment on peut préremplir certaines colonnes pour un collaborateur donné, afin que ce dernier, n'ait pas besoin d'aller remplir certaines informations à la main. Donc souvenez vous qu'actuellement il voit le nom de la tâche, la durée, la date de début et la date de fin. On va faire en sorte que le nom, SON nom disons plutôt, s'ajoute automatiquement dans les ressources. Egalement son manager et son client principal. Alors voyons ceci, donc on va aller dans l'onglet « développeur », « Enregistrer une macro » on va l'appeler « mcr_NewFullTask » qui veut dire : nouvelle tâche complète. On va pas mettre de raccourci clavier, on va mettre comme à l'habitude dans ce projet pour que cela suive le fichier, et là, on va mettre simplement « Création d'une nouvelle tâche complète avec informations pré-remplies ». Comme ceci. On fait bien évidemment attention à ce que ça reste absolue en ligne, puisque ces informations doivent se pré-remplir toujours à la ligne 1, et également, et c'est ça justement maintenant qui va nous intéresser, C'est d'être absolue en colonnes parce qu'on va vouloir que ça pré-remplisse toujours certaines colonnes dont le nom est spécifique et ce, indépendamment de la position de ces colonnes. Maintenant on fait un « OK » et on y va, on lance l'enregistrement. Donc d'abord il nous faut une nouvelle tâche. Donc on va cliquer sur notre petit bouton qui crée une nouvelle tâche, donc voilà, et déjà maintenant on peut se poser une question c'est: « Est-ce que la macro dans Project est comme dans Excel, est-ce que elle enregistre aussi le fait qu'on lance une macro? » Parce que effectivement une activité, ou si vous voulez plutôt une pratique courante avec les macros, c'est de les diviser en plusieurs petites macros lorsqu'on en a des énormes à faire. C'est le principe du « diviser pour mieux reigner ». Dire, vous faîtes une macro qui fait un petit morceau de ce que vous voulez automatiser, une autre macro qui fait un autre petit morceau et ainsi de suite, et à la fin vous pouvez compiler toutes ces macros pour qu'elles s'exécutent les unes après les autres, afin d'avoir une macro qui prend peut-être 5, 10 minutes à s'exécuter. Et qui vous aurait pris des heures à enregistrer et donc vous aurait peut-être amené à faire des erreurs pendant l'enregistrement Donc là on verra si Project est comme Excel et peut effectivement enregistrer le fait qu'on ait exécuté la macro pendant qu'on enregistrait une macro. Maintenant que l'on a ça, eh bien, on va se rendre sur la partie droite de la table d'entrée et on va ajouter la colonne « noms des ressources » on va ajouter également la colonne « Manager » et la colonnne « Client ». On va maintenant dans la colonne « Noms des ressources » ajouter « Moi » c'est le nom de la ressource de notre collègue imaginaire, on imagine, « Manager » on va mettre ici mon nom et mon prénom et « Client » on va mettre ici « Linkedin ». Bien, ceci ayant été fait, on va maintenant masquer ces 3 colonnes et faire un « Ctrl+ home », c'est à dire un contrôle Accueil. Et on arrête l'enregistrement de la macro. Voilà. Ceci ayant été fait, maintenant on va la tester, donc on va supprimer ici la tâche 1 et puis bon en même temps on pourrait nettoyer si on le voulait au cas où cela vous perturberait le fait que la tâche juste en dessous qui n'est pas une tâche ait déjà certaines valeurs pré-remplies pour certains champs donc là par exemple je vais vider le « Manager » et le « Client » ainsi qu'enlever la « Ressource » Voilà comme ceci, même la partie du dessous sera vide. Alors, on va y aller on va dans afficher les macros on prend donc notre macro qui s'appelle « NewFullTask » et on fait un « Exécuter » Et là, on voit que l'écran a bougé et on est surpris et on se dit : « Hein? Mais il a pas créé la nouvelle tâche et il a donc pas pré-rempli les infos, qu'est-ce qu'il a donc fait? » Eh bien en fait c'est simple, c'est que si on va dans « Afficher les macros » et qu'on prend notre macro « NewFullTask » et qu'on va dans le code VBA et qu'on clique donc sur « modifier » pour cela. Eh bien si on prend le temps de lire le code ici, eh bien on se rend compte qu'en réalité, eh bien il n'a pas enregistré pendant le fait qu'il générait ce code qu'on ait lancé la macro qui crée la tâche. Regardez, vous pouvez toujours chercher l'endroit où ça crée une tâche, ça n'y est nulle part. Alors pour le coup, il faut que je vous apprenne à faire ça à la main parce que la conclusion c'est que Project ne se comporte pas comme Excel, il n'est pas capable d'enregistrer pendant qu'on enregistre une macro, le fait qu'une macro ait été lancée. Donc là on va écrire « call » je vous rappelle que l'idée c'est d'aller appeler une autre macro, d'où le « call » qui en français veut dire appeler Et là on va aller chercher « Mcr_NewTask » Voilà. Maintenant bon, il faut savoir qu'il y a des puristes, dont je fais partie qui n'aiment pas écrire ça comme ça. On préfère en réalité écrire le nom du module dans lequel se trouve la macro et puis comme ça on trouve que c'est plus lisible. Mais bien évidemment, actuellement le module 5 il a un nom qui est pas propre du tout, on apprendra plus tard lorsqu'on va découvrir l'interface de développement VBA un peu plus en rigueur comment renommer les modules. Bien, donc ceci ayant été fait, on ferme l'éditeur Visual Basic et puis maintenant on retourne donc dans « Afficher les macros » et puis on va prendre donc notre tâche ici « NewFullTask » et une fois ceci fait, eh bien on va aller l'exécuter et comme on peut le voir, il y a effectivement une tâche qui s'appelle « Nouvelle tâche » et si on va regarder dans ses propriétés on a effectivement la ressource « Moi » avec ici le « Client » « Linkedin » et le « Manager » « ISOZ Vincent ». Donc on a atteint notre objectif. Maintenant, pour clore le sujet correctement comme on le fait à chaque fois, on va adapter notre barre d'accès rapide en conséquence et notre onglet « Organisation ». Alors là, ce que je souhaite vous montrer ça ne va pas être de recréer un bouton mais c'est, est-ce qu'on peut changer un des boutons existants. Alors on va le voir d'abord avec la barre d'accès rapide en allant dans « autre commande » on va prendre donc la partie qui concerne notre fichier et là, nous avons donc ici notre petite macro qui faisait le « NewTask » donc pas le « Full », la complète. Si ici on fait un « Modifier » la question c'est « Est-ce qu'on peut changer le nom de la macro sur lequel ça pointe? » En fait, comme vous pouvez le voir, non parce qu'en fait, ce que vous voyez là, c'est que la légende du bouton. Donc on va être obligé de supprimer ici le bouton, d'aller chercher la macro « NewFullTask », et évidemment de modifier à nouveau son nom et éventuellement son îcone. Bon là on fait un « OK » et un « OK ». Donc maintenant on peut tester si ça marche et effectivement on voit qu'à chaque fois, ça marche. D'ailleurs notre Ressource maintenant étant sur trois tâches parallèles en même temps eh bien on a effectivement le petit bonhomme qui est en rouge qui montre bien qu'elle est suraffectée. Ensuite on va faire de même pour l'onglet « Organisation » donc clic droit « Personnaliser le ruban » on va dans « outils », « Nouvelle tâche » et puis là on aimerait pouvoir changer la macro associée, on fait un « Renommer » mais encore une fois on voit que ce n'est pas possible. On ne peut pas changer la macro d'un bouton déjà existant. Donc là aussi on va « Supprimer », chercher dans le gros macro, notre nouvelle macro « NewFullTask », cliquer sur le bouton « Renommer » on peut si on a envie, et là c'est vraiment conseillé parce que ça se voit mettre le nom. On va reprendre le même îcone qu'avant, on fait « OK », « OK » et puis pour le coup on a effectivement ici le bouton « Nouvelle tâche » comme précédemment mais cette fois-ci c'est la version complète qui ajoute la « Ressource » avec le « Client » et le « Manager ». Donc voilà pour un exemple d'une macro absolue en ligne, puisque elle s'attaque toujours à la ligne 1 et toujours pour les mêmes colonnes en les attaquant par leurs noms, et ce quelque soit leur position. Et en plus je vous ai montré comment appeler une macro depuis une autre macro à l'aide de la commande « call » donc C-A-L-L qui signifie appeler.

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 !