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

Éditer le code d'une macro enregistrée

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Entrez plus en détail dans la structure d'un code VBA généré par une macro. Il s'agit de gagner en autonomie pour apprendre en autodidacte.
08:59

Transcription

Nous allons maintenant revenir un peu plus en détails sur l'édition d'une macro avec le code VBA. Donc on a déjà vu à plusieurs reprises qu'une manière d'éditer le code d'une macro, du moins quand cette dernière n'est pas protégée par un mot de passe, c'est d'aller dans « Afficher les macros » « Sélectionner la macro » et cliquer sur le bouton « modifier ». Et une fois ceci fait, vous vous retrouvez directement dans la macro concernée. Une autre manière de procéder, c'est de cliquer sur le bouton « Visual Basic » pour ouvrir l'éditeur et ensuite d'ouvrir les modules un par un jusqu'à ce que vous trouviez votre macro, ou d'ouvrir un des modules et puis de faire un « Ctrl+f », de taper le nom d'une macro que vous cherchez, donc là par exemple « mcr_CleanNotes » et si je clique sur « suivant » après m'être assuré que je vais bien faire la recherche dans le projet en cours, eh bien, il m'amène directement au bon module. Bon, ceci étant dit ça c'est une manière d'éditer les macros. Mais, je souhaiterais également en profiter pour vous introduire correctement à la notion d'édition d'une macro. Alors, commençons par le module 1, qui pour l'instant a un nom évidemment qui n'est pas propre mais on apprendra à renommer les modules un peu plus tard. Donc ce que vous voyez ici, c'est la feuille de code du module. Et on a en bleu, ça il faut déjà le savoir, les termes qui sont réservés à la grammaire du langage VBA. En d'autres termes, le VBA il faut savoir que ce n'est pas un langage qui a été créé par Microsoft à la base, mais par IBM, dans les années 70. Et vous trouverez en fait toujours en bleu ce qui est la base fondamentale de ce langage. Donc c'est à dire ce que l'on retrouve dans tous les autres logiciels qui utilisent du VBA, donc pas que des logiciels Microsoft. Par exemple AutoCAD a du VBA. Mais c'est de loin pas le seul logiciel. Maintenant les termes en noir ce sont des termes qui ne sont pas propres au VBA, par exemple le nom de la macro ou ici ces commandes ou propriétés que vous voyez là ou arguments pour les puristes qui auront d'ailleurs tout à fait raison, eh bien ils ne sont pas propres on va dire au socle de base de VBA donc ils sont en noir. Ce qui est en vert, ce sont les commentaires. Donc les commentaires, comme on va le voir on peut les mettre un peu où on veut. Maintenant, normalement, en haut de la feuille de code d'un module vous devriez mettre « Option Explicit ». Donc rappelez vous que tout à l'heure je vous ai montré une case à cocher où c'était marqué « forcer la déclaration des variables » et dans le cas présent, eh bien, le module existait déjà avant qu'on le coche donc c'est à nous de mettre le « option Explicit » qui va nous forcer à travailler un peu proprement. Mais n'oubliez que si vous faîtes ça et que vous copier/décoller des codes de forum ça va vous poser des problèmes parce que souvent les codes sont mal faits sur les forums et il faut quand même avoir une certaine habitude du VBA pour corriger ces derniers. Une fois « l'Option Explicit » écrit, qui peut être considéré comme un minimum minimorum, à savoir au niveau des en-têtes des feuilles de code une tradition, que malheureusement VBA ne fait pas automatiquement mais l'outil que je vous ai montré tout à l'heure fait lui automatiquement, c'est d'insérer ce que l'on appelle une cartouche d'en-tête de code. Effectivement quand vous créez une macro ou un code VBA, eh bien il est assez courant de commencer le code par une cartouche au même titre que les ingénieurs qui font des dessins techniques ou les gestionnaires qui font des processus ont des cartouches sur leurs documents. Donc avec l'échelle, la date de création, l'auteur, le numéro de révision. Donc les cartouches, la tradition minimale c'est de faire un trait entre guillemets « trait tillé » avec une apostrophe au début, ensuite on copie/colle ce trait et puis normalement le minimum à mettre c'est 'Module parce que quand on va imprimer ou faire un pdf, l'idée c'est qu'on retrouve ici le nom du module dans lequel se trouvait cette macro. Ensuite on met souvent l'auteur, donc évidement normalement tout est en anglais, oui puis j'ai oublié de spécifier que par tradition on a tendance à mettre un espace entre le symbole du commentaire et également le mot clé, donc là voilà « Vincent Isoz ». Ensuite, le minimum c'est de mettre la date évidemment au format des normes internationales, voilà par exemple et ensuite de mettre au minimum le but. Voilà. Après personnellement moi je recommande de mettre ici l'e-mail, au cas où la personne vient à disparaître du périmètre de l'entreprise. C'est souvent les interventions que je fais le plus, c'est que la personne qui avait fait son code VBA kilométrique est partie. Pour le coup, plus personne n'arrive à comprendre ce que cette personne a fait, donc des fois c'est bien de pouvoir la contacter via son mail privé, et au besoin de la payer plutôt que de se retaper des semaines de formation, et aussi également de mettre ici un change log c'est à dire un journal de changement où vous allez en fait dater à chaque fois que vous faites un changement la manière suivante voilà 2016-07-16 et vous allez mettre en fait devant ce que vous avez fait comme changements. Voilà donc là, « création de la macro ». Donc l'idée étant d'avoir un journal, de dire : « oui mais qui a modifié quoi etc. à telle date ». Voilà par Vincent Isoz. Ok. Une fois ceci fait, on fait normalement un ou deux espaces en-dessous, et maintenant ce que vous voyez là donc le « Sub » qui veut dire Sub routine, signifie en fait que cette partie de code informatique que vous avez là est un sous-ensemble du logiciel ç'est à dire qu'il ne peut pas s'éxecuter en dehors de Project. Donc VBA est ce qu'on appelle un langage qui n'est pas un langage « stand alone ». En d'autres termes, il a besoin de s'éxecuter et je l'ai déjà dit, dans une sorte de capsule et cette capsule c'est le logiciel Project. Maintenant, il faut savoir que c'est pas très propre d'écrire ça comme ça, parce qu'évidemment les macros font des codes qui ne sont pas propres. Cette routine en fait elle est publique, ça veut dire qu'elle peut être éxécutée par nos collègues via un bouton ou via donc le bouton « ajouter » dans la barre d'accès rapide, ou dans un onglet qu'on a créé, ou via le bouton « macro ». Vous savez ce bouton qui affichait toutes les macros du fichier. Si on met une macro « Private » eh bien en fait, elle ne sera plus visible dans la liste des macros et elle ne sera plus utilisable via un bouton. Donc on met souvent des macros en « Private » lorsqu'on est débutant VBA lorsque l'on est en train de créer une macro et qu'on l'a pas terminée. Et que nos collègues utilisent quand même le fichier. Mais quand on est un peu plus avancé en VBA, le fait de mettre des macros, des fonctions, en privé ou en public, a en fait une très grande importance qui est autre que simplement cacher la macro. Ensuite, vous pouvez faire des commentaires à l'intérieur des codes, et il est recommandé normalement de mettre un commentaire toutes les 5 lignes de code. Attention, si vous faîtes pas ça je peux vous garantir que quand vous relisez quelques mois ou années plus tard, vous risquez d'avoir des problèmes à comprendre vos propres codes si vous ne les avez pas commenté. Ensuite sachez que il est d'usage d'avoir des tabulations à chaque fois que l'on rentre dans une structure de programmation dans une routine. Je vous rappelle que « sub » veut dire sub routine, là on entre dans la structure une première fois donc une tabulation, puis si tout d'un coup on venait à apprendre à faire du VBA puis à écrire une structure conditionnelle du type « if » qui veut dire donc « si » eh bien une structure conditionnelle c'est donc une structure comme je viens de le dire, et à ce moment là, l'intérieur de cette structure, pas le « if » lui même, serait aussi tabulée. C'est pour ça que souvent sur internet quand vous copiez des codes de forum vous verrez qu'il y a une forme de tabulation parce que ça facilite la lecture des codes et également ça permet de bien controler qu'on a ouvert et fermé une structure. Vous voyez par exemple là le private sub il s'ouvre et sur la même verticale il se ferme. Donc « end sub » ça veut dire fin de la sub routine. Donc voilà pour une présentation propre de la modification d'un code VBA et de l'ajout de commentaires.

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 !