Code dans powerpoint 2007

ben83130 Messages postés 1 Date d'inscription dimanche 9 avril 2023 Statut Membre Dernière intervention 9 avril 2023 - Modifié le 9 avril 2023 à 22:37
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 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...

si vous avez une piste, merci d'avance

1 réponse

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
10 avril 2023 à 20:29
0
Rejoignez-nous