Comment créer et ajouter des diapositives aux présentations PowerPoint avec VBA ?

Il y a quelques jours, un lecteur a demandé s'il existait un moyen d'automatiser la création de présentations PowerPoint à partir de zéro, puis d'ajouter rapidement des diapositives à cette présentation existante. Je pensais que ce script pourrait figurer en bonne place dans la liste des macros PowerPoint les plus utiles. 

Comme nous l'avons indiqué dans le passé, PowerPoint n'inclut pas d' enregistreur de macros (contrairement à Excel et Word, qui ont tous deux des enregistreurs intégrés pour Macro). Par conséquent, nous nous retrouvons avec le bon vieux Visual Basic pour Application que nous pouvons utiliser pour créer des macros simples pour automatiser PowerPoint. Il existe d'autres alternatives pour PowerPoint Automation, mais celles-ci dépassent le cadre de ce didacticiel.

Dans le court tutoriel d'aujourd'hui, nous allons passer en revue trois cas d'utilisation différents :

  1. Création d'une nouvelle présentation (vierge ou à l'aide d'un modèle)
  2. Ajouter des diapositives à une présentation existante.
  3. Un mélange des deux cas cités ci-dessus (Create from scratch et ajout de slides)

Commençons.

Regardez le ruban. Si vous ne voyez pas l'entrée Développeur dans le menu, avant de commencer votre codage, vous devrez activer l'onglet développeur.

Après avoir rendu le menu Développeur visible sur votre ruban, continuez et appuyez sur Developer , puis appuyez sur le bouton Visual Basic (ou continuez simplement et appuyez sur Alt + F11) pour ouvrir l'IDE Visual Basic.

VBA pour créer une présentation PowerPoint

  1. Dans l'éditeur VB, faites un clic droit sur VBAProject et appuyez sur Insérer .
  2. Sélectionnez Module .
  3. Collez le code suivant dans le module nouvellement créé.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
  1. Appuyez sur Fichier puis sur Enregistrer.
  2. Pour exécuter votre code, appuyez sur Exécuter, puis sélectionnez Exécuter le formulaire sous/utilisateur (ou simplement F5).
  3. Fermez l'éditeur VB.

VBA pour insérer des diapositives

  1. Dans l'éditeur VB, cliquez avec le bouton droit sur VBAProject et appuyez sur Insérer.
  2. Sélectionnez le module
  3. Collez le code suivant dans le module nouvellement créé.
Sub CreateSlide()
Dim NewSlide as Slide
'This statement ads a title slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
End Sub
  1. Appuyez sur Fichier puis sur Enregistrer.
  2. Pour exécuter votre code, appuyez sur Exécuter, puis sélectionnez Exécuter le formulaire sous/utilisateur (ou simplement F5).
  3. Fermez l'éditeur VB.

Macro pour configurer une nouvelle présentation et ajouter des diapositives

Ce serait simplement mélanger les deux extraits décrits ci-dessus.

Sub CreatePres_AddSlides()
Dim NewPres as Presentation
Dim NewSlide as Slide
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
' Title Slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
'Save the new PowerPoint file
NewPres.SaveAs("MyPresentation.pptx")
End Sub

Ensuite, vous pouvez consulter notre didacticiel sur la création de formes par programmation dans PowerPoint avec VBA.

Générer une présentation PowerPoint à partir d'Excel

Le dernier cas est que vous souhaitez créer une présentation PowerPoint directement à partir d'une feuille de calcul Excel. Vous pouvez utiliser la même technique à partir de Word et d'autres applications Microsoft 365.

  • Liez la feuille de calcul au modèle de données PowerPoint (depuis Outils>> Références)
  • Insérez un bouton dans votre feuille de calcul Excel (Développeur >> Insérer, puis choisissez un bouton de commande).
  • Insérez le code VBA ci-dessous dans votre projet VBA de feuille de calcul (directement dans la feuille ou dans un module VBA)
  • Modifiez le script si nécessaire.
  • Exécutez (appuyez sur F5) et testez le résultat.
Sub CreatePresentationFromExcel()


Dim MyPPt As PowerPoint.Application
Dim NewPres As PowerPoint.Presentation
Dim NewSlide As Slide
Set MyPPt = CreateObject("PowerPoint.Application")

Set NewPres = MyPPt.Presentations.Add
Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)

NewPres.SaveAs ("MyPresentation.pptx")
NewPres.Close

MyPPt.Quit

MsgBox ("Presentation saved")
End Sub

Profitez-en 🙂

Avantages d'Excel VBA PowerPoint

  • L'utilisation de VBA dans Powerpoint facilite la gestion si un fichier ppt contient autant de diapositives avec un contenu énorme.
  • VBA avec Powerpoint donne une touche d'automatisation même avec des fonctions limitées disponibles.

Inconvénients d'Excel VBA PowerPoint

  • Nous devons sélectionner la Bibliothèque d'objets Microsoft PowerPoint 15.0 dans l'option Référence située dans l'option du menu Outil, dont nous avons besoin au début de exemple 1, chaque fois que nous exécutons le code pour PowerPoint.

Choses dont il faut se rappeler

  • Enregistrez le fichier au format Macro-Enable Présentation après avoir écrit le code. Cela nous aidera à éviter de perdre le code et de l'utiliser plusieurs fois à l'avenir.
  • La fonction de recodage ne fonctionnera pas ici car nous devons passer d'Excel à PowerPoint en modifiant l'interface entre les pages.
  • Compilez toujours le code avant de l’exécuter. Cela vous aidera à trouver l'erreur dans le code. Ceci est très utile lorsque nous écrivons de grosses lignes de code.
  • Pour exécuter et implémenter le code, nous devons ouvrir la feuille Excel avec le graphique que nous souhaitons coller dans la diapositive PowerPoint.
  • Nous pouvons aligner le graphique dans PowerPoint selon nos besoins.

Laisser un commentaire

Modèle de stratégie marketing imprimable sur une page pour les entreprises locales

Modèle de stratégie marketing imprimable sur une page pour les entreprises locales

Utilisez ce modèle de stratégie marketing imprimable d'une page pour choisir une audience locale, une offre, une combinaison de canaux, un budget, des actions et des objectifs mesurables.

Modèle gratuit de planning des horaires de travail pour Excel avec calculateur d'heures automatique

Modèle gratuit de planning des horaires de travail pour Excel avec calculateur d'heures automatique

Créez gratuitement un planning de travail pour vos employés dans Excel, avec les heures de début et de fin, les déductions pour les pauses, la gestion du travail de nuit, les totaux hebdomadaires et un calculateur d'heures simple.

Meilleures applications de facturation gratuites pour les petites entreprises de services aux États-Unis (2026)

Meilleures applications de facturation gratuites pour les petites entreprises de services aux États-Unis (2026)

Comparez les meilleures applications de facturation gratuites pour les entreprises de services américaines en 2026, notamment Zoho Invoice, Square, Wave, PayPal et Invoice Ninja.

Modèle Excel simple de suivi de la paie bihebdomadaire pour les petites équipes : une configuration facile à mettre en œuvre

Modèle Excel simple de suivi de la paie bihebdomadaire pour les petites équipes : une configuration facile à mettre en œuvre

Créez un outil simple de suivi de la paie bihebdomadaire sous Excel pour une petite équipe, avec des feuilles claires, des formules, des vérifications et des limites pratiques pour un rapprochement de paie sécurisé.

Comment exporter les contacts Salesforce vers un format Excel propre

Comment exporter les contacts Salesforce vers un format Excel propre

Apprenez à exporter vos contacts Salesforce vers un fichier Excel propre, à préserver les identifiants et les champs de texte, à supprimer les doublons en toute sécurité et à éviter les erreurs courantes liées aux fichiers CSV.

Modèle de devis de travaux de construction imprimable au format Excel pour les petits entrepreneurs

Modèle de devis de travaux de construction imprimable au format Excel pour les petits entrepreneurs

Créez un devis de travaux de construction imprimable dans Excel avec des catégories de coûts pratiques, des formules, des champs de modification, des paramètres d'impression et une liste de contrôle prête à l'emploi pour les entrepreneurs.

Liste de contrôle et modèle de budget pour la planification d'événements imprimables pour Word

Liste de contrôle et modèle de budget pour la planification d'événements imprimables pour Word

Utilisez cette liste de contrôle et ce modèle de budget pour la planification d'événements imprimables dans Word pour suivre les responsables, les échéances, les coûts, les fournisseurs et la préparation du jour J avec des contrôles qualité clairs.

Comment corriger le calcul automatique des formules Excel en 3 étapes simples

Comment corriger le calcul automatique des formules Excel en 3 étapes simples

Corrigez les formules Excel qui ne se calculent plus automatiquement en trois étapes : restaurez le mode de calcul, forcez un recalcul et réparez les formules formatées en texte.

Modèle de calendrier de nettoyage hebdomadaire imprimable pour les hôtes Airbnb (Word et PDF)

Modèle de calendrier de nettoyage hebdomadaire imprimable pour les hôtes Airbnb (Word et PDF)

Utilisez ce calendrier de nettoyage hebdomadaire imprimable pour la gestion Airbnb afin d'organiser les rotations, le nettoyage récurrent, le réapprovisionnement, les inspections et les transferts de Word à PDF.

Modèle de feuille de journal de maintenance des équipements Excel pour les responsables d'atelier : Guide de configuration en 4 étapes

Modèle de feuille de journal de maintenance des équipements Excel pour les responsables d'atelier : Guide de configuration en 4 étapes

Créez un journal de maintenance des équipements pratique sur Excel pour les responsables d'atelier, incluant les identifiants d'actifs, l'historique des services, les dates d'échéance, les contrôles de statut, le suivi des temps d'arrêt et une liste de contrôle d'audit finale.