VBA et powerpoint

Fermé
julie.fievet - 23 sept. 2014 à 14:32
Bonjour à tous,

je travaille actuellement sur une macro qui doit copier des images de Excel vers Powerpoint et j'ai quelques petits problèmes :(

ci dessous le code utilisé pour que vous vous fassiez une idée :

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub deux_segments()

Application.ScreenUpdating = False

Dim PptApp As Object
Dim PptDoc As Object
'Dim PptApp As New PowerPoint.Application
'Dim PptDoc As New PowerPoint.Application

Dim fileName As String
Dim i As Integer
i = 4

Set PptApp = CreateObject("Powerpoint.Application")
PptApp.Visible = True

'chemin de la maquette initiale
Set PptDoc = PptApp.Presentations.Open("" & Range("C17") & "" & "Maquette_Profil_2seg.pptx")

With PptDoc
'''''''''
' statut '
'''''''''
 
'graph gauche
''''''''''''''''''

    Sheets("Maquette Gphs").Range("statut1").Copy
    .Slides(i).Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile, DisplayAsIcon:=msoTrue, IconLabel:="BSC"
   
    With .Slides(i).Shapes(.Slides(i).Shapes.Count)
        .Name = "statut1" 'nom de la plage
        .Left = 10 ' a partir de la gauche de la slide
        .Top = 250 ' a partir du haut de la slide
        .Height = 325 ' hauteur
        .Width = 325 ' largeur
    End With
    
'graph droite
''''''''''''''''''

     Sheets("Maquette Gphs").Range("statut2").Copy
    .Slides(i).Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile, DisplayAsIcon:=msoTrue, IconLabel:="BSC"

    With .Slides(i).Shapes(.Slides(i).Shapes.Count)
        .Name = "statut2"
        .Left = 380
        .Top = 250
        .Height = 325
        .Width = 325
    End With
    
'''''''''
' sexes '
'''''''''
 
'graph gauche haut
''''''''''''''''''

     Sheets("Maquette Gphs").Range("sexe1").Copy
     
    .Slides(i + 1).Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile, DisplayAsIcon:=msoTrue, IconLabel:="BSC"
   
    With .Slides(i + 1).Shapes(.Slides(i + 1).Shapes.Count)
        .Name = "sexe1"
        .Left = 60
        .Top = 180
        .Height = 200
        .Width = 200
    End With
    
'graph gauche bas
''''''''''''''''''

     Sheets("Maquette Gphs").Range("sexe2").Copy
    .Slides(i + 1).Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile, DisplayAsIcon:=msoTrue, IconLabel:="BSC"
   
    With .Slides(i + 1).Shapes(.Slides(i + 1).Shapes.Count)
        .Name = "sexe2"
        .Left = 60
        .Top = 350
        .Height = 200
        .Width = 200
    End With

'sauvegarde la présentation
Sheets("Parms").Activate
.SaveAs fileName:="" & Range("C19") & "" & Range("C21") & ".pptx"
   

End With

End Sub



''''''''''''''''''''''''''''''''''''''''''''''''''

Mon problème c'est que de temps en temps le code s'exécute très bien, sans aucun soucis mais parfois il plante au niveau du copier-coller.

Mais jamais au niveau du même copier coller....
Je ne sais pas si c'est un soucis de paramétrage ou autre

Dans Outils > référence j'ai bien coché Microsoft Powerpoint 14.0 Object Library et j'ai regardé sur plusieurs forum sans trouver ou comprendre le problème.

Merci d'avance pour votre aide
A voir également: