Problème d'affichage powerpoint suite à une macro

Fermé
mael.boyer443100 - 29 mars 2016 à 17:27
 mael.boyer44100 - 30 mars 2016 à 09:19
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,
A voir également:

2 réponses

m@rina Messages postés 21080 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 novembre 2024 11 350
29 mars 2016 à 17:39
Bonjour,

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

m@rina
0
mael.boyer44100
30 mars 2016 à 09:17
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
mael.boyer44100
30 mars 2016 à 09:19
Pardon, le problème se fait avec Range(TOTAL1)
0