5.5 · Automatisation : macros VBA

Niveau 5 · Multi-projets, collaboration & automatisation

5.5Automatisation : macros VBA

Objectif : Automatiser ses tâches répétitives dans Project (enregistrement puis édition VBA) pour un gain de temps durable sur l'outil.
Temps estimé : 14 min · lecture autonome · Si vous n'avez que 5 min : lisez « L'essentiel en 30s » + le schéma.

L'essentiel en 30 secondes

  • Project s'automatise en VBA (Visual Basic for Applications), le même langage de macros qu'Excel ou Word : une compétence réutilisable.
  • L'enregistreur de macros est le point d'entrée sans code : il capture une suite d'actions (mise en forme, filtre, vue) et la rejoue à volonté.
  • L'éditeur VBA (Alt+F11) permet ensuite de lire, écrire et modifier du code pour manipuler le modèle objet : traitements en masse et reporting sur mesure.

Mini-cas filé — Meriem automatise ses mises en forme répétitives

Meriem, cheffe de projet dans une société d'ingénierie & construction (BTP) à Alger, applique à chaque nouveau chantier la même préparation : une mise en forme standard, un filtre par phase et une vue dédiée pour le comité. Cette suite d'actions lui prend du temps et elle l'oublie parfois. Elle active l'onglet Développeur, puis enregistre une macro : elle réalise les actions une fois, Project capture le code. Elle rejoue ensuite la macro sur un autre chantier et mesure le gain. Curieuse, elle ouvre l'éditeur VBA (Alt+F11) pour lire le code, modifie un paramètre, puis associe la macro à un bouton. Elle ne code pas un logiciel : elle automatise un geste répétitif, sans être développeuse.

Cas autonome de cette section : il revient dans le cours, le schéma, le script et le défi 48h de la section 5.5.

1. L'enregistreur de macros

Pour les tâches répétitives, Project est automatisable via VBA (Visual Basic for Applications), le même langage de macros qu'Excel ou Word. Le point d'entrée sans code : l'enregistreur de macros, qui capture une suite d'actions (mise en forme, filtre, vue) et la rejoue à volonté. Meriem obtient ainsi un code qu'elle peut ensuite relire et modifier : c'est le moyen le plus simple d'automatiser sans être développeur.

2. Éditer du VBA

En allant plus loin, on écrit ou édite des macros dans l'éditeur VBA (Alt+F11) pour manipuler le modèle objet de Project : parcourir les tâches, modifier des champs en masse, produire un reporting sur mesure. Automatiser ses tâches répétitives, c'est le dernier palier du parcours : gagner du temps sur l'outil pour se concentrer sur le pilotage. Meriem modifie par exemple un paramètre du code généré, puis associe la macro à un bouton.

3. Automatiser ce qui se répète

La règle d'or : automatiser ce qui est répétitif et rentabilisé par la répétition. Une macro pour une action faite une seule fois n'a pas d'intérêt ; pour un geste hebdomadaire (mise en forme standard, export de reporting, renumérotation en masse), elle fait gagner un temps précieux et évite les erreurs. Meriem commence toujours par l'enregistreur, observe le code généré pour apprendre, puis automatise progressivement ce qui revient souvent.

Erreur d'interprétation fréquente : « Il faut être développeur pour automatiser ; mieux vaut coder du VBA avant d'essayer l'enregistreur ; toute action mérite une macro ». Non, triple erreur. L'enregistreur de macros automatise sans écrire une ligne : c'est le point d'entrée accessible à tous. Il est inutile de coder d'abord : commencez par enregistrer, puis observez et modifiez le code. Et on n'automatise pas une action faite une seule fois : une macro se rentabilise par la répétition. Pour le reste, VBA réutilise les compétences d'Excel et Word.
Automatiser avec VBA Enregistrer des actions sans coder, puis éditer le code pour aller plus loin. Enregistreur Capturer desactions (sans coder)Rejouer Sur d'autresprojetsÉditeur VBA Lire, modifierle code (Alt+F11)Traitements enmasse Reporting sur mesure
Enregistrer des actions sans coder, puis éditer le code pour aller plus loin.
Version texte du schéma (SEO / lecteurs d'écran / traduction) : 1) Meriem, cheffe de projet dans une société d'ingénierie & construction à Alger, répète la même préparation sur chaque chantier : mise en forme standard, filtre par phase, vue pour le comité. 2) Elle active l'onglet Développeur et enregistre une macro : elle réalise les actions une fois, Project capture le code, qu'elle rejoue sur un autre chantier (automatiser sans coder). 3) Elle ouvre ensuite l'éditeur VBA (Alt+F11) pour lire et modifier le code, puis l'associe à un bouton ; l'automatisation sert les traitements en masse et le reporting sur mesure récurrents. Leçon : commencer par l'enregistreur, puis éditer du VBA pour automatiser ce qui se répète — avec la plus grande prudence sur l'exécution de code.

🔎 Exemple concret — 🔎 Exemple concret — Du sans-code au code

Meriem automatise une préparation répétitive, d'abord sans coder :

Enregistrer : filtre + mise en forme, une fois → code généré.
Rejouer sur un autre projet, puis Alt+F11 pour lire le code.
→ modifier un paramètre, associer la macro à un bouton.

Résultat : un gain de temps durable au service du pilotage.

Réflexe : VBA = même langage qu'Excel/Word (compétence réutilisable).

Vocabulaire de la section

VBA
Visual Basic for Applications : langage de macros commun aux applications Office, permettant d'automatiser Project.

Exemple simple : Meriem automatise sa mise en forme répétitive en VBA.

Ce que ce n'est pas : croire que Project n'est pas automatisable.

Réflexe : VBA = compétence réutilisable (Excel/Word).

Enregistreur de macros
Outil capturant une suite d'actions pour la rejouer ; il produit du code VBA sans avoir à l'écrire.

Exemple simple : Meriem enregistre filtre + mise en forme en une fois.

Ce que ce n'est pas : vouloir coder avant d'essayer l'enregistreur.

Réflexe : enregistrer = automatiser sans coder.

Macro
Programme automatisant une tâche répétitive (mise en forme, filtre, export, traitement en masse).

Exemple simple : Meriem rejoue sa macro sur un autre chantier.

Ce que ce n'est pas : lancer une macro de source inconnue sans prudence.

Réflexe : automatiser ce qui se répète.

Éditeur VBA
Environnement (Alt+F11) où l'on lit, écrit et exécute le code des macros.

Exemple simple : Meriem ouvre Alt+F11 pour modifier un paramètre.

Ce que ce n'est pas : ne jamais regarder le code généré.

Réflexe : lire le code pour apprendre.

Modèle objet
Structure programmable de Project (Projets, Tâches, Ressources, Affectations…) manipulable en VBA.

Exemple simple : Meriem parcourt les tâches pour un traitement en masse.

Ce que ce n'est pas : modifier chaque tâche à la main.

Réflexe : le modèle objet permet les traitements en masse.

En pratique — En pratique — Automatiser avec des macros VBA

  1. Activez l'onglet Développeur (Fichier > Options > Personnaliser le ruban) pour accéder aux outils macros.
  2. Enregistrez une macro : lancez l'enregistreur, effectuez une tâche répétitive (filtre + mise en forme), arrêtez.
  3. Rejouez la macro sur un autre projet et constatez le gain de temps ; ouvrez l'éditeur VBA (Alt+F11) pour lire le code.
  4. Modifiez légèrement le code (ex. changer un paramètre) pour l'adapter, et associez la macro à un bouton pour la réutiliser.
Vous automatisez vos tâches répétitives dans Project (enregistrement puis édition VBA) : un gain de temps durable sur l'outil, au service du pilotage.

Script pas-à-pas — automatiser comme Meriem (10 min)

1) Activez l'onglet Développeur. 2) Lancez l'enregistreur de macros et donnez-lui un nom. 3) Effectuez la tâche répétitive (ex. filtre + mise en forme de Meriem). 4) Arrêtez l'enregistrement. 5) Rejouez la macro sur un autre projet ; mesurez le gain. 6) Ouvrez l'éditeur VBA (Alt+F11), lisez le code, modifiez un paramètre et associez la macro à un bouton. Prudence : testez sur une copie du fichier.

Commencez par enregistrer, observez le code, puis modifiez-le petit à petit : pas besoin d'être développeur pour débuter.

Modèle copier-coller — ma macro pas-à-pas

Onglet Développeur : activé (Fichier > Options > Personnaliser le ruban)
Actions enregistrées : ___ (ex. filtre par phase + mise en forme)
Nom de la macro : ___
Rejouée sur : ___ (autre projet) → gain : ___
Éditeur VBA (Alt+F11) : paramètre modifié ___ · bouton associé ___
Règle : enregistrer d'abord · éditer ensuite · automatiser ce qui se répète · tester sur une copie.

Mise en forme standard

Meriem enregistre une macro qui applique la même mise en forme à chaque chantier.

Filtre récurrent

Meriem automatise un filtre par phase qu'elle refait à chaque point d'avancement.

Reporting sur mesure

Meriem édite le VBA pour générer un tableau récapitulatif personnalisé.

Traitement en masse

Meriem modifie un champ sur des centaines de tâches d'un coup via une macro.

Prudence : Rappel générique : les macros VBA sont du code exécuté dans l'application. N'activez et n'exécutez que des macros de source fiable, ouvrez les projets avec prudence et respectez les réglages de sécurité des macros définis par votre organisation. Un fichier peut transporter des macros : ne les lancez pas sans les avoir comprises, testez sur une copie et sauvegardez avant toute automatisation. Ce guide présente des principes généraux et ne constitue pas un conseil en sécurité informatique.

✓ Bonnes pratiques

  • Commencer par l'enregistreur (sans coder), puis éditer le VBA.
  • Observer le code généré pour apprendre progressivement.
  • Automatiser ce qui est répétitif et rentabilisé par la répétition.

✗ Pièges fréquents

  • Vouloir coder du VBA avant d'avoir essayé l'enregistreur.
  • Automatiser une action faite une seule fois (non rentable).
  • Oublier que VBA réutilise les compétences d'Excel/Word.

Points clés à retenir

  • Project s'automatise en VBA (même langage de macros qu'Excel/Word).
  • L'enregistreur de macros capture des actions et les rejoue : automatiser sans coder.
  • L'éditeur VBA permet d'écrire/modifier des macros manipulant le modèle objet.
  • Idéal pour les traitements en masse et le reporting sur mesure récurrents.

Défi 48h — appliquez demain

Comme Meriem, enregistrez UNE macro pour une tâche que vous répétez (mise en forme, filtre, vue), rejouez-la sur un autre projet, puis ouvrez l'éditeur VBA (Alt+F11) pour lire le code et modifier un paramètre. Associez la macro à un bouton. Testez sur une copie du fichier.

Checklist sortie de section
  • Je peux expliquer ce qu'est VBA dans Project.
  • Je sais enregistrer une macro sans écrire de code.
  • Je sais lire et modifier du code dans l'éditeur VBA pour aller plus loin.
Auto-évaluation 1-5 : est-ce que je distingue enregistreur et éditeur VBA ?Auto-évaluation 1-5 : ai-je automatisé un vrai geste répétitif ?

Questions fréquentes

Faut-il savoir programmer pour utiliser les macros VBA ?

Pas pour commencer. L'enregistreur de macros permet d'automatiser sans écrire une ligne : vous réalisez les actions une fois, Project les enregistre en code, et vous les rejouez. C'est suffisant pour beaucoup de tâches répétitives. Pour aller plus loin (traiter des tâches en masse, logique conditionnelle), il faut lire et modifier le code VBA, ce qui demande un apprentissage progressif. VBA est le même langage que dans Excel et Word.

Quels sont les cas d'usage typiques d'une macro dans Project ?

Tout ce qui est répétitif : appliquer une mise en forme standard à chaque nouveau projet ; renuméroter ou reclasser des tâches en masse ; générer un tableau récapitulatif ou un export personnalisé à chaque point d'avancement ; modifier un champ sur des centaines de tâches d'un coup. À la main, ces opérations prennent du temps et sont sujettes aux erreurs ; une macro les exécute en quelques secondes. Le retour se juge par la répétition.

Vérifiez votre compréhension

Comment automatiser une tâche répétitive dans Project ?

Ressources supplémentaires (optionnel, pour aller plus loin)

Examen du niveau 5Questions inédites et durcies pour valider vos acquis