Comment copier automatiquement d'Excel vers PowerPoint à l'aide d'une macro VBA
Étape 1
Exécutez Excel, écrivez "Alan" en A1, "Daniel" en A2, "Kitzia" en A3, "Oscar" en A4 et "Yarexli" en A5. Appuyez sur "Ctrl" et "S" pour enregistrer le classeur dans "C: \" sous le nom "ExcelFile.xlsx". Fermer Excel
Étape 2
Exécuter PowerPoint, cliquez sur l'onglet "Développeur" et cliquez sur "Macros" pour exécuter la boîte de dialogue Macro. Écrivez "copyFromExcel" sous le "Nom de la macro" et cliquez sur le bouton "Créer". Cliquez sur le menu "Outils" et appuyez sur "Préférences" pour exécuter la boîte de dialogue "Références". Faites défiler la liste et cochez la case "Bibliothèque d'objets Microsoft Excel" et cliquez sur "OK".
Étape 3
Copiez et collez ce qui suit pour créer les variables que vous utiliserez pour copier les données à partir d'Excel:
Dim sourceXL As Excel.Application Dim sourceBook As Excel.Workbook Dim sourceSheet As Excel.Worksheet Dim dataReadArray (10) As String Dim myPress As Présentation Dim newSlide As Slide
Étape 4
Ajustez les valeurs des 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 vecteur de chaîne:
sourceSheet.Range ("A1"). Sélectionnez dataReadArray (0) = sourceSheet.Range ("A1"). Valeur sourceSheet.Range ("A2"). Sélectionnez dataReadArray (1) = sourceSheet.Range ("A2"). sourceSheet.Range ("A3"). Sélectionnez dataReadArray (2) = sourceSheet.Range ("A3"). Valeur sourceSheet.Range ("A4"). Sélectionnez dataReadArray (3) = sourceSheet.Range ("A4"). sourceSheet.Range ("A5"). Sélectionnez dataReadArray (4) = sourceSheet.Range ("A5"). Valeur
Étape 6
Ajoutez les données du vecteur Chaîne à la nouvelle diapositive de votre présentation actuelle:
newSlide.Shapes (1) .TextFrame.TextRange = "Données copiées à partir d'Excel" newSlide.Shapes (2) .TextFrame.TextRange = dataReadArray (0) & vbNewLine & _ dataReadArray (1) & vbNewLine & _ dataReadArray (0) & _ dataReadArray (3) & vbNewLine & _ dataReadArray (4) & vbNewLine
Étape 7
Fermez le classeur:
sourceBook.Fermer
Étape 8
Passez à la fenêtre PowerPoint et cliquez sur "Macros". Cliquez sur "Exécuter" pour exécuter la macro "copyFromExcel" et ajouter une nouvelle diapositive avec des données copiées à partir du fichier Excel créé à l'étape 1.