Problème de copie de tableau Excel dans Powerpoint avec VBA

Bonjour à tous,

Voilà, je suis entrain de faire une macro dans le but d'automatiser la création d'une présentation power point qui a lieu toutes les semaines.

Cette macro copie des tableaux excel (en format image) dans un power point à l'endroit souhaité.

Néanmoins, la macro me saute automatiquement la dernière colonne sur tout les slides ...

Je viens de me lancer sur excel et la macro est une résultante de copier-coller successifs...

Merci par avance à celles et ceux qui m’apporteront leur précieuse aide !

(Je m'excuse par avance si cette question a déjà été posée ou si je l'ai posté au mauvais endroit)

MRU08

 
        Dim ppApp As PowerPoint.Application
        Dim ppPres As PowerPoint.Presentation
        Dim ppShape As PowerPoint.shape
        Dim SlideNum As Integer
        Dim strPresPath As String, strExcelFilePath As String, strNewPresPath As String

        strPresPath = "C:\...."
        strNewPresPath = "C:\...."

        Set ppApp = CreateObject("PowerPoint.Application")
        ppApp.Visible = msoTrue

        Set ppPres = ppApp.Presentations.Open(strPresPath)

        Sheets("Sheet1").Activate
        Range("Tableau1").Copy

        SlideNum = 8
        ppPres.Slides(SlideNum).Select
        Set ShR = ppPres.Slides(SlideNum).Shapes.PasteSpecial(ppPasteMetafilePicture, msoFalse)

       With ShR
        .Top = 52
        .Left = 80
        .Height = 200 
        .Width = 800 
       End With

End Sub

Bonjour,

A tester

Option Explicit
Public Sub test()
Dim ppApp As PowerPoint.Application
Dim ppPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Dim SlideNum As Integer
Dim strPresPath As String, strExcelFilePath As String, strNewPresPath As String
Dim rng As Range

    Application.ScreenUpdating = False

    strPresPath = "C:\...."
    strNewPresPath = "C:\...."

    Set ppApp = CreateObject("PowerPoint.Application")
    Set ppPres = ppApp.Presentations.Open(strPresPath)
    ppApp.Visible = msoTrue

    Set rng = Worksheets("Sheet1").Range("Tableau1")
    rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture

    SlideNum = 8
    Set PPSlide = ppPres.Slides(SlideNum)
    ppPres.Slides(SlideNum).Select
    PPSlide.Shapes.Paste.Select
    ppApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
    ppApp.ActiveWindow.Selection.ShapeRange.Top = 52

    ppApp.Activate
    Set PPSlide = Nothing
    Set ppPres = Nothing
    Set ppApp = Nothing

End Sub

Merci pour ta réponse !

Je vais tester lundi et je reviens vers toi

MRU08

Bonjour Jean-Eric,

Je viens de tester et j'ai deux souci maintenant :S

1) la taille du tableau ne correspond plus à ce que je souhaite

2) Etant donné que j'ai plusieurs tableau à copier sur différents slides, j'ai recopié le code en adaptant (changer le numéro de slide, le tableau à recopier et l'onglet sur lequel il se trouve), malheureusement, la macro se bloque lors de la copie du 2ème tableau ici :

    ' Collage du tableau n3 :
        SlideNum = 3
        Set ppSlide = ppPres.Slides(SlideNum)
        ppPres.Slides(SlideNum).Select
        ppSlide.Shapes.Paste.Select

Sur Set ppSlide = ppPres.Slides(SlideNum)....

Merci de ton aide

MRU08

Bonjour,

Que veux-tu que je fasse?

Même avec des fichiers joints, je ne suis pas certain de pouvoir t'aider plus.

Il y a certainement un forum traitant de PowerPoint et VBA.

Cdlt.

Rechercher des sujets similaires à "probleme copie tableau powerpoint vba"