Comment copier automatiquement d'Excel vers PowerPoint à l'aide d'une macro VBA

Si vous avez déjà voulu accélérer le transfert de données d'un classeur Microsoft Excel vers votre présentation Microsoft PowerPoint, l'utilisation d'une macro et de Visual Basic pour Applications est la solution. VBA est un langage de programmation informatique utilisé dans les applications Microsoft Office pour automatiser des processus tels que la copie de données à partir d'Excel. Une macro vous permet d'enregistrer un ensemble d'instructions que vous pouvez exécuter encore et encore en cliquant sur un bouton.

Étape 1

Lancez Excel, tapez "Alan" dans "A1", "Daniel" dans "A2", "Kitzia" dans "A3", "Oscar" dans "A4" et "Yarexli" dans "A5". Appuyez sur "CTRL" et "S" pour enregistrer le classeur dans "C:\" en tant que "ExcelFile.xlsx." Fermez Excel.

Étape 2

Lancez PowerPoint, cliquez sur l'onglet "Développeur" et cliquez sur "Macros" pour lancer la fenêtre de dialogue Macro. Tapez "copyFromExcel" sous le nom de la macro et cliquez sur le bouton "Créer". Cliquez sur le menu "Outils" et cliquez sur "Références" pour lancer la fenêtre de dialogue Références. Faites défiler vers le bas et cochez la case à côté de "Microsoft Excel Bibliothèque d'objets" et cliquez sur "OK".

Étape 3

Copiez et collez les éléments suivants pour créer les variables que vous utiliserez pour copier les données d'Excel :

Dim sourceXL en tant qu'Excel.Application

Dim sourceBook As Excel.Workbook Dim sourceSheet As Excel.Worksheet Dim dataReadArray(10) As String Dim myPress As Presentation Dim newSlide As Slide 

Étape 4

Définissez des valeurs sur les variables d'objet :

Définir sourceXL = Excel.Application Définir sourceBook = sourceXL.Workbooks.Open("G:\ExcelFile.xlsx") Définir sourceSheet = sourceBook.Sheets(1) Définir myPres = ActivePresentation Définir newSlide = myPres.Slides.Add(Index:=myPres .Slides.Count + 1, Layout:=ppLayoutText) 

Étape 5

Lisez les données dans le fichier Excel et stockez-les dans un tableau String :

sourceSheet.Range("A1").Select dataReadArray(0) = sourceSheet.Range("A1").Valeur sourceSheet.Range("A2").Select dataReadArray(1) = sourceSheet.Range("A2").Value sourceSheet.Range("A3").Select dataReadArray(2) = sourceSheet.Range("A3").Valeur sourceSheet.Range("A4").Select dataReadArray(3) = sourceSheet.Range("A4").Value sourceSheet.Range("A5").Select dataReadArray(4) = sourceSheet.Range("A5").Value 

Étape 6

Ajoutez les données du tableau String à une nouvelle diapositive de votre présentation actuelle :

newSlide.Shapes(1).TextFrame.TextRange = "Données copiées depuis Excel" newSlide.Shapes(2).TextFrame.TextRange = dataReadArray(0) & vbNewLine & _ dataReadArray(1) & vbNewLine & _ dataReadArray(2) & vbNewLine & _ dataReadArray(3) & vbNewLine & _ dataReadArray(4) & vbNewLine 

Étape 7

Fermez le classeur :

sourceLivre.Fermer 

Basculez vers la fenêtre PowerPoint et cliquez sur "Macros". Cliquez sur "Exécuter" pour exécuter la macro "copyFromExcel" et ajoutez une nouvelle diapositive avec les données copiées à partir du fichier Excel que vous avez créé à l'étape 1.