VBA PowerPoint - Créer une présentation PowerPoint à partir d'Excel à l'aide de VBA

Table des matières:

Anonim

Tutoriel Excel VBA PowerPoint

VBA est un outil puissant qui peut être utilisé dans n'importe quel domaine des outils intégrés Microsoft. Comme MS Excel, Powerpoint a également une disposition pour créer une macro et automatiser la présentation. L'automatisation peut prendre n'importe quelle forme. Vous avez vu des présentations où les diapositives sont si grandes et détaillées, qui finissent parfois par avoir plus de 50 diapositives juste pour couvrir un sujet de formation ou un rapport. Ainsi, au lieu d'ajouter les graphiques dans PowerPoint à partir d'Excel, nous pouvons créer un code qui copiera directement les graphiques d'Excel et les collera dans la diapositive PowerPoint.

Comment créer une présentation PowerPoint à partir d'Excel VBA?

Voici l'exemple pour créer une présentation PowerPoint à l'aide du code VBA dans Excel:

Vous pouvez télécharger ce modèle Excel VBA PowerPoint ici - Modèle Excel VBA PowerPoint

Exemple PowerPoint VBA

Créons d'abord un graphique dans Excel. Pour cela, nous avons besoin de données. Ci-dessous, nous avons des données sur les ventes de 8 vendeurs.

Créons maintenant un graphique à colonnes ou un graphique à l'aide des données ci-dessus. Nous allons voir ci-dessous, nous avons maintenant un graphique à colonnes avec le titre Quantité vendue et toutes les étiquettes insérées.

Maintenant, notre tâche consiste à obtenir ce graphique dans une diapositive PowerPoint, car il apparaît ici avec le titre du graphique comme titre de la diapositive PowerPoint. Pour cela, nous devons activer PowerPoint dans VBA.

Suivez les étapes ci-dessous:

Étape 1: Accédez au menu Outil VBA comme indiqué ci-dessous et sélectionnez l'option Références… comme indiqué ci-dessous.

Étape 2: Une fois que nous aurons fait cela, nous aurons une fenêtre Références du projet VBA. Dans cette liste, sélectionnez la bibliothèque d'objets MS PowerPoint 15.0 comme indiqué ci-dessous. Cela activera toutes les commandes liées à MS PowerPoint dans VBA. Sans cela, nous ne pouvons pas exécuter VBA dans PowerPoint. Cochez la case de la bibliothèque mentionnée et cliquez sur OK .

Étape 3: Maintenant, pour écrire le code pour VBA PowerPoint, nous avons besoin d'un module. Pour obtenir un nouveau module, allez dans le menu Insertion et sélectionnez une option de module comme indiqué ci-dessous.

Étape 4: Dans ce module, écrivez la sous-catégorie de VBA PowerPoint ou tout autre nom selon vos besoins, comme indiqué ci-dessous.

Code:

 Sub VBA_Presentation () End Sub 

Étape 5: Maintenant, pour créer une présentation à l'aide de Chart dans Excel, nous avons besoin de peu de variables. Considérons 5 variables comme:

  1. PApplication pour l'application PowerPoint.
  2. PPT pour présentation PowerPoint,
  3. PPTSlide pour PowerPoint Slide,
  4. PPTShapes pour PowerPoints,
  5. PPTCharts pour Excel Chart Object.

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject End Sub 

Étape 6: Utilisez maintenant la commande Définir pour ajouter une nouvelle application PowerPoint, comme indiqué ci-dessous.

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application End Sub 

Étape 7: Dans une ligne de code, rendez l'application PowerPoint visible et utilisez msoCTrue pour évaluer mystérieusement la mauvaise façon. Et après cela, la même application sera utilisée comme maximisée dans PowerPoint pour obtenir la vue complète.

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized End Sub 

Étape 8: Maintenant, définissez le PPT qui est notre présentation à ajouter dans l'application MS PowerPoint,

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add End Sub 

Étape 9: Maintenant, nous allons utiliser une combinaison de boucle For-Next et If-Else. À partir de la boucle For-Next.

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add For Next End Sub 

Étape 10: Dans la boucle For de PPTCharts, premiers graphiques actifs dans Excel.

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add pour chaque PPTCharts dans ActiveSheet.ChartObjects Next PPTCharts End Sub 

Étape 11: Voici le code pour coller le graphique d'Excel vers une diapositive PowerPoint. Utilisez du code pour ajouter une diapositive dans la PAplication définie en ajoutant +1 diapositive chaque fois que nous exécutons le code.

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add pour chaque PPTCharts dans ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText Next PPTCharts End Sub 

Étape 12: Maintenant, pour passer à la ligne de code suivante, utilisez l'ensemble de code ci-dessous pour définir une vue de fenêtre active. Cela utilisera la diapositive une fois le graphique collé dans la présentation PowerPoint.

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add pour chaque PPTCharts dans ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.ActiveWindlivePresentation.ProvideSlidePount.Photo = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) Prochain PPTCharts End Sub 

Étape 13: Une fois terminé, sélectionnez la variable PPTChart que nous avons définie précédemment. Après cela, copiez le graphique actif sélectionné dans la zone du graphique où il sera placé. Et utilisez la commande Collage spécial pour coller le graphique avec des images.

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add pour chaque PPTCharts dans ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.ActiveWindlivePresentation.ProvideSlidePount.Photo = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Select Next PPTCharts End Sub 

Étape 14: Sélectionnez maintenant la forme du graphique qui est à la première position comme plage de texte. Et porter le même titre qui est « Quantité vendue » dans la présentation PowerPoint.

Code:

 Sous VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add pour chaque PPTCharts dans ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.ActiveWindlivePresentation.ProvideSlidePount.Photo = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Select PPTSlide.Shapes (1) .TextFrame.TextFrame.TextFrame.TextFrame.TextFrame.TextFrame.TextFrame.TextFrame.TextFrame. .Chart.ChartTitle.Text Suivant PPTCharts End Sub 

Ceci termine le code pour VBA PowerPoint.

Étape 15: compilez maintenant le code étape par étape pour savoir si une ligne de code contient une erreur en appuyant sur la touche de fonction F8. Et après cela, exécutez le code en cliquant sur le bouton Lecture qui se trouve sous la barre de menu, comme indiqué ci-dessous.

Nous afficherons le graphique dans un fichier PowerPoint dans la première diapositive de celui-ci, comme indiqué ci-dessous.

Comme le code est gros, le code complet peut être vu dans la zone de texte ci-dessous.

Avantages d'Excel VBA PowerPoint

  • L'utilisation de VBA dans Powerpoint est facile à gérer 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 de menu Outil, dont nous avons besoin au début de l'exemple-1, chaque fois que nous exécutons le code pour PowerPoint.

Choses dont il faut se rappeler

  • Enregistrez le fichier au format de présentation Macro-Enable après avoir écrit le code. Cela nous aidera à éviter de perdre le code et d'utiliser le même temps à l'avenir.
  • La fonctionnalité de recodage ne fonctionnera pas ici car nous devons passer d'Excel à PowerPoint en changeant 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 grandes lignes de code.
  • Pour exécuter et implémenter le code, nous devons ouvrir la feuille Excel avec le graphique que nous voulons coller dans la diapositive PowerPoint.
  • Nous pouvons aligner le graphique dans PowerPoint selon nos besoins.

Articles recommandés

Ceci est un guide de VBA PowerPoint. Ici, nous discutons de la façon de créer une présentation PowerPoint à partir d'Excel à l'aide du code VBA avec un exemple pratique et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Colonne de suppression VBA
  2. Barre d'état dans Excel
  3. VBA Supprimer les doublons
  4. Créer une feuille de calcul dans Excel