Problème d'affichage powerpoint suite à une macro

mael.boyer443100 -  
 mael.boyer44100 -
Bonjour,

Je me permets de venir vers vous suite à un problème que je rencontre au sujet de l'application d'une macro.

J'ai crée une macro permettant de générer un PowerPoint avec des graphiques, des zones de cellules et des objets provenant d'un fichier Excel.

Lorsque je génère ce PowerPoint et que je "l'enregistre sous" en le renommant, l'ensemble des éléments se placent au bon endroit.

Mais lorsque je ferme mon PowerPoint et le rouvre, un des objets bien placé initialement se retrouve en plein milieu de ma slide et cela sur toutes les pages.

Quelqu'un aurait une explication?

Merci d'avance pour votre aide.

Bien cordialement,

2 réponses

  1. m@rina Messages postés 27698 Date d'inscription   Statut Modérateur Dernière intervention   11 567
     
    Bonjour,

    Pour te répondre, il faut voir le code.

    m@rina
    0
  2. mael.boyer44100
     
    Bonjour Marina,

    Merci pour votre retour. J'utilise Excel 2013 vers Powerpoint 2013.

    Vous trouverez ci-dessous le code pour une slide avec mes 3 éléments exportés. Le souci se passe avec le dernier élément TXTTOTAL1.

    Sub TestPowerPoint()
    Dim ppt As PowerPoint.Application
    Set ppt = CreateObject("PowerPoint.Application")
    ppt.Visible = True
    Dim Pres As PowerPoint.Presentation
    Set Pres = ppt.Presentations.Open(Filename:="CHEMIN DU POWERPOINT")
    Sheets("3-CREATION GRAPHIQUES").Select
    ActiveSheet.ChartObjects("CSTOTAL").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartArea.Copy
    Pres.Slides(16).Shapes.PasteSpecial ppPasteJPG
    NbShpe = Pres.Slides(16).Shapes.Count
    With Pres.Slides(16).Shapes(NbShpe)
    .Name = "CSTOTAL"
    .Left = 60
    .Top = 140
    .Height = 320
    .Width = 475
    .ZOrder msoSendToBack
    End With
    Range("TOTAL1").Select
    Selection.Copy
    Pres.Slides(16).Shapes.Paste
    NbShpe = Pres.Slides(16).Shapes.Count
    With Pres.Slides(16).Shapes(NbShpe)
    .Name = "TOTAL1"
    .Left = 309
    .Top = 250
    ActiveSheet.Shapes.Range("TXTTOTAL1").Select
    Selection.Copy
    Pres.Slides(16).Shapes.Paste
    NbShpe = Pres.Slides(16).Shapes.Count
    With Pres.Slides(16).Shapes(NbShpe)
    .Name = "TXTTOTAL1"
    .Left = -12
    .Top = 440
    End With

    Merci pour votre retour
    0
    1. mael.boyer44100
       
      Pardon, le problème se fait avec Range(TOTAL1)
      0