ben83130
Messages postés1Date d'inscriptiondimanche 9 avril 2023StatutMembreDernière intervention 9 avril 2023
-
Modifié le 9 avril 2023 à 22:37
vb95
Messages postés3417Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention20 mai 2023
-
10 avril 2023 à 20:29
Bonjour, je voudrais modifier une diapo powerpoint 2007 en fonction d'un fichier excel, j'ai fais ce bout de code:
Sub CreatePresentationsFromExcelFiles()
Dim xlApp As Excel.Application
Dim xlWorkbook As Excel.Workbook
Dim xlWorksheet As Excel.Worksheet
Dim cellValue As Variant
Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Dim pptSlide As PowerPoint.Slide
Dim pptShape As PowerPoint.Shape
Dim slideID As Long
Dim strFilePath As String
Dim arrFiles() As String
Dim i As Integer
'Ouvrir la boîte de dialogue "Ouvrir" pour sélectionner les fichiers Excel
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "Fichiers Excel", "*.xlsx;*.xlsm", 1
.Title = "Sélectionnez les fichiers Excel à traiter"
If .Show = True Then
'Parcourir tous les fichiers sélectionnés
For i = 1 To .SelectedItems.Count
'Ouvrir le classeur Excel
Set xlApp = New Excel.Application
Set xlWorkbook = xlApp.Workbooks.Open(.SelectedItems(i))
Set xlWorksheet = xlWorkbook.Worksheets("Feuil1")
'Récupérer la valeur de la cellule A1
cellValue = xlWorksheet.Range("A1").Value
xlWorkbook.Close False
xlApp.Quit
'Ouvrir la diapo schema
Set pptApp = New PowerPoint.Application
Set pptPres = pptApp.Presentations.Open("I:\Mon Drive\symielec\schemas_automatiques\schema pour excel.pptx")
slideID = 1 ' Remplacer par l'identifiant de la diapositive que vous souhaitez ouvrir
Set pptSlide = pptPres.Slides.FindBySlideID(slideID)
'Ajouter le texte de la cellule Excel à la présentation PowerPoint
Set pptSlide = pptPres.Slides.Add(2, ppLayoutBlank)
Set pptShape = pptSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 500, 100)
pptShape.TextFrame.TextRange.Text = "La valeur de la cellule A1 est " & cellValue
'Enregistrer la présentation PowerPoint dans le même dossier que le fichier Excel
strFilePath = Left(.SelectedItems(i), InStrRev(.SelectedItems(i), "\") - 1)
pptPres.SaveAs strFilePath & "\Présentation.pptx"
pptPres.Close
pptApp.Quit
Next i
End If
End With
End Sub
il y a une erreur pour l'ID de la diapo, je ne sais pas comment trouvé l'ID de la diapo que je veux modifier...