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.

Gingembre 2.7.53.0

Gingembre 2.7.53.0

Ginger est un vérificateur d'orthographe et de grammaire gratuit.

Blocs

Blocs

Blocks est un jeu intellectuel permettant aux élèves de 3e année du primaire de mettre en pratique leurs compétences de détection et de vision. Il est inclus par les enseignants dans le programme de soutien pédagogique en informatique.

Prezi 6.26

Prezi 6.26

Prezi est une application gratuite qui vous permet de créer des présentations numériques, en ligne et hors ligne.

Mathway

Mathway

Mathway est une application très utile qui peut t'aider à résoudre tous ces problèmes mathématiques qui nécessitent un outil plus complexe que la calculatrice intégrée de ton appareil.

Présentateur Adobe

Présentateur Adobe

Adobe Presenter est un logiciel d'apprentissage en ligne publié par Adobe Systems, disponible sur la plate-forme Microsoft Windows en tant que plug-in Microsoft PowerPoint.

Toucans 2.3.0

Toucans 2.3.0

Toucan est une plateforme technologique éducative. Il vous permet d'apprendre une nouvelle langue tout en parcourant des sites Web courants et quotidiens.

ENetViet 24.2

ENetViet 24.2

eNetViet est une application qui permet de connecter les parents avec l'école où étudient leurs enfants afin qu'ils puissent comprendre clairement la situation d'apprentissage actuelle de leur enfant.

Duolingo

Duolingo

Duolingo - Apprendre des langues gratuitement, ou simplement Duolingo, est un programme éducatif qui vous permet d'apprendre et de pratiquer de nombreuses langues différentes.

Typagerapide

Typagerapide

RapidTyping est un outil de formation au clavier pratique et facile à utiliser qui vous aidera à améliorer votre vitesse de frappe et à réduire les fautes d'orthographe. Avec des cours organisés pour de nombreux niveaux différents, RapidTyping vous apprendra à taper ou à améliorer les compétences existantes.

MathType 7.4.10.53

MathType 7.4.10.53

MathType est un logiciel d'équation interactif du développeur Design Science (Dessci), qui vous permet de créer et d'annoter des notations mathématiques pour le traitement de texte, les présentations, le eLearning, etc. Cet éditeur est également utilisé pour créer des documents TeX, LaTeX et MathML.