Bonjour à tous,
Je viens solliciter la communauté car je rencontre une difficulté que je n'arrive pas à résoudre seul.
Je fait un export de plusieurs objet vers powerpoint, méthode copy/paste.
Mon problème est que ma macro ne fonctionne pas tout le temps, parfois je ne vais avoir aucun problème et d'autre seul la moitié des éléments va se coller, je vais avoir une erreur "erreur invalid request The specified data type is unavailaible" Ce que je ne comprends pas c'est que ma macro fonctionne une fois sur deux.
Merci d'avance pour vos réponses.
Je viens solliciter la communauté car je rencontre une difficulté que je n'arrive pas à résoudre seul.
Je fait un export de plusieurs objet vers powerpoint, méthode copy/paste.
Mon problème est que ma macro ne fonctionne pas tout le temps, parfois je ne vais avoir aucun problème et d'autre seul la moitié des éléments va se coller, je vais avoir une erreur "erreur invalid request The specified data type is unavailaible" Ce que je ne comprends pas c'est que ma macro fonctionne une fois sur deux.
VB:
Sub Export_Powerpoint()
Dim appPpt As Object 'la variable qui contiendra l'application
Dim Pptpre As Object 'la variable qui contiendra la présentation
Dim nbshpe As Byte
Dim shpe As Object 'pour manipuler un objet Forme
Dim sld As Object 'pour manipuler un objet diapositive
Dim MySlide As Slide
'-----------------------------------------------
Set appPpt = CreateObject("Powerpoint.Application")
appPpt.Visible = True
'l'application est créée et rendu visible
Set Pptpre = appPpt.Presentations.Open(Filename:=ThisWorkbook.Path & "\Testppt.potx")
Application.ScreenUpdating = False
Application.CutCopyMode = False
Sheets("Tuilles").Select
ActiveSheet.Range("B7:i17").Select
Selection.Copy
Pptpre.Slides(3).Shapes.PasteSpecial ppPasteMetafilePicture
nbshpe = Pptpre.Slides(3).Shapes.Count
With Pptpre.Slides(3).Shapes(nbshpe)
.Left = 96
.Top = 120
.Width = 500
.Height = 350
End With
Sheets("BilanN").Select
ActiveSheet.Range("B5:C12").Select
Selection.Copy
Pptpre.Slides(5).Shapes.PasteSpecial ppPasteMetafilePicture
nbshpe = Pptpre.Slides(5).Shapes.Count
With Pptpre.Slides(5).Shapes(nbshpe)
.Left = 30
.Top = 120
.Width = 350
.Height = 350
End With
ActiveSheet.Range("B19:C26").Select
Selection.Copy
Pptpre.Slides(5).Shapes.PasteSpecial ppPasteMetafilePicture
nbshpe = Pptpre.Slides(5).Shapes.Count
With Pptpre.Slides(5).Shapes(nbshpe)
.Left = 292
.Top = 120
.Width = 350
.Height = 350
End With
ActiveSheet.Range("f29:g34").Select
Selection.Copy
Pptpre.Slides(5).Shapes.PasteSpecial ppPasteMetafilePicture
nbshpe = Pptpre.Slides(5).Shapes.Count
With Pptpre.Slides(5).Shapes(nbshpe)
.Left = 650
.Top = 60
.Width = 300
.Height = 100
End With
ActiveSheet.Range("b3:h4").Select
Selection.Copy
Pptpre.Slides(5).Shapes.PasteSpecial ppPasteMetafilePicture
nbshpe = Pptpre.Slides(5).Shapes.Count
With Pptpre.Slides(5).Shapes(nbshpe)
.Left = 60
.Top = 60
.Width = 900
.Height = 40
End With
ActiveSheet.Range("k2").Select
Selection.Copy
Pptpre.Slides(1).Shapes.PasteSpecial ppPasteMetafilePicture
nbshpe = Pptpre.Slides(1).Shapes.Count
With Pptpre.Slides(1).Shapes(nbshpe)
.Left = 180
.Top = 135
.Width = 600
.Height = 60
End With
Set shpe = Pptpre.Slides(1).Shapes. _
AddTextbox(msoTextOrientationHorizontal, _
250, 60, 500, 50)
With shpe.TextFrame.TextRange
.Text = Range("a1").Value
.Font.Name = "garamond"
.Font.Size = 50
.Font.Bold = True
.Font.Color = RGB(0, 0, 0)
.Paragraphs.ParagraphFormat.Alignment = ppAlignCenter
End With
Sheets("Parm").Select
End Sub
Merci d'avance pour vos réponses.