Bonjour à tous,

je suis en train d'écrire une macro qui créée des tableaux sous excel, les formatte et créée des documents ppt pour les insérer.
Je galère pour retoucher ces tableaux sous powerpoint.

Plus précisement (cf code ci-dessous) je n'arrive pas a faire appel a la forme que j'ai copié dans powerpoint pour, par exemple, en changer la taille de police.
J'ai bien compris textframe ne s'appliquait qu'à une shape et qu'ici ma shp est un Object mais si j'écris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Dim shp as shape
Set shp = PptPre.Slides(p2 + 1).Shapes.PasteSpecial(DataType:=8)
VBA me renvoie une erreur "type mismatch".
A l'inverse dans le code ci-dessous j'ai une erreur sur la dernière ligne.

Toute aide est la bienvenue !
Merci beaucoup par avance


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim App As Object
Dim PptPre As Object
Dim nbshpe As Byte
Dim shpe As Object
Dim sld As Object
Dim shp As Object
 
Set App = CreateObject("Powerpoint.application")
App.Visible = True
Set PptPre = App.Presentations.Add
PptPre.PageSetup.SlideSize = ppSlideSizeOnScreen
PptPre.ApplyTheme "C:\Users\35984\AppData\Roaming\Microsoft\Templates\Document Themes\caveat.thmx"
 
Set sld = PptPre.Slides.Add(Index:=p2 + 1, Layout:=ppLayoutBlank)
Worksheets("VBA GF output").Cells(4 + p2 * UBound(Table2outputGF), i + m).Resize(UBound(Table2outputGF, 1), lon).Select
Selection.Copy
Set shp = PptPre.Slides(p2 + 1).Shapes.PasteSpecial(DataType:=8)
shp.TextFrame.TextRange.Characters.Font.Size = 10