OVH Cloud OVH Cloud

Marche pas VBA : erreur de compilation

3 réponses
Avatar
Gilgamesh
Bonjour les gens,

quand j'essaye d'exécuter la macro ci dessous(trouvée en ligne) j'ai le
message suivant :

Erreur de compilation
"Type défini par l'utilisateur non défini.

Le surlignage est sur :

Set PPT = New PowerPoint.Application

Que faut il que je "déclare" ?

Merci

---------
Cette macro est censé me permettre d'exporter un graphique sur PPT.

Sub ExG1()
Set PPT = New PowerPoint.Application
With PPT
.Visible = True
.Activate
End With
My_Pres = ThisWorkbook.Path & "\exG.ppt"
Set Pres = PPT.Presentations.Open(My_Pres)
For x = 1 To 3
Sheets("gbase").Select
ActiveChart.SeriesCollection(1).Formula = "=SERIES(,,data!$d$160:$d$161,1)"
Set Out_Sh = Workbooks("Tq DDI.XLS").Sheets(1)
Set My_Chart = Out_Sh.ChartObjects("X_Chart")
Title_Text = Out_Sh.[F201]
PPT.Windows(1).View.GotoSlide 1
With Pres
.Slides(1).Shapes(1).TextFrame.Textrange.Characters.Text = Title_Text
.Slides(1).Shapes(2).Select
End With
My_Chart.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
PPT.Windows(1).View.Paste
Next
End Sub

End Sub

3 réponses

Avatar
boblebob
slt,

dans le VBE, Outils/Références puis active la case à cocher :
"Microsoft PowerPoint 9.0 (ou autre...) Object Library",
il te manquait peut-être ce lien, je dis bien peut-être rien n'est sûr.

--
a+
bob

(enlever nospam00-)
"Gilgamesh" a écrit dans le message de news:


Bonjour les gens,

quand j'essaye d'exécuter la macro ci dessous(trouvée en ligne) j'ai le
message suivant :

Erreur de compilation
"Type défini par l'utilisateur non défini.

Le surlignage est sur :

Set PPT = New PowerPoint.Application

Que faut il que je "déclare" ?

Merci

---------
Cette macro est censé me permettre d'exporter un graphique sur PPT.

Sub ExG1()
Set PPT = New PowerPoint.Application
With PPT
.Visible = True
.Activate
End With
My_Pres = ThisWorkbook.Path & "exG.ppt"
Set Pres = PPT.Presentations.Open(My_Pres)
For x = 1 To 3
Sheets("gbase").Select
ActiveChart.SeriesCollection(1).Formula "=SERIES(,,data!$d$160:$d$161,1)"
Set Out_Sh = Workbooks("Tq DDI.XLS").Sheets(1)
Set My_Chart = Out_Sh.ChartObjects("X_Chart")
Title_Text = Out_Sh.[F201]
PPT.Windows(1).View.GotoSlide 1
With Pres
.Slides(1).Shapes(1).TextFrame.Textrange.Characters.Text = Title_Text
.Slides(1).Shapes(2).Select
End With
My_Chart.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
PPT.Windows(1).View.Paste
Next
End Sub

End Sub




Avatar
Gilgamesh
"boblebob" a écrit dans le message de news:
Osg5x$
slt,

dans le VBE, Outils/Références puis active la case à cocher :
"Microsoft PowerPoint 9.0 (ou autre...) Object Library",
il te manquait peut-être ce lien, je dis bien peut-être rien n'est sûr.



-- Bravo ! C'était ça. J'aurais pu chercher jusqu'à ce que le cerveau me
pèle, je n'aurais pas trouvé. Donc, maintenant la macro ouvre bien PPT, mais
au moment de créer le fichier vierge, ça a l'air de bloquer.

En débogage le surlignage est sur (==>):
My_Pres = ThisWorkbook.Path & "exG.ppt"
==> Set Pres = PPT.Presentations.Open(My_Pres)

Dans le répértoire correspondant, le fichier demandé "ExG.PPT" n'a pas été
crée.

Quand je place mon curseur sur Pres, l'info bulle m'indique Pres = Vide

Any idea ?

Merci

---
Pour info, la macro complète est là :

Sub ExG1()
Set PPT = New PowerPoint.Application
With PPT
.Visible = True
.Activate
End With
My_Pres = ThisWorkbook.Path & "exG.ppt"
Set Pres = PPT.Presentations.Open(My_Pres)
For x = 1 To 3
Sheets("b").Select
ActiveChart.SeriesCollection(1).Formula = "=SERIES(,,data!$d$160:$d$161,1)"
Set Out_Sh = Workbooks("Tq DDI.XLS").Sheets(1)
Set My_Chart = Out_Sh.ChartObjects("X_Chart")
Title_Text = Out_Sh.[F201]
PPT.Windows(1).View.GotoSlide 1
With Pres
.Slides(1).Shapes(1).TextFrame.Textrange.Characters.Text = Title_Text
.Slides(1).Shapes(2).Select
End With
My_Chart.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
PPT.Windows(1).View.Paste
Next
End Sub

Avatar
Stephane
Il me semble que cette macro ne cree pas un fichier ppt mais ouvre un
fichier dans le repertoire courant s'appelant exg.ppt
Si ce fichier n'existe pas c'est la plante car pas de test.
A vérifier.
A+
Stephane.

Gilgamesh wrote:


"boblebob" a écrit dans le message de news:
Osg5x$
slt,

dans le VBE, Outils/Références puis active la case à cocher :
"Microsoft PowerPoint 9.0 (ou autre...) Object Library",
il te manquait peut-être ce lien, je dis bien peut-être rien n'est sûr.



-- Bravo ! C'était ça. J'aurais pu chercher jusqu'à ce que le cerveau me
pèle, je n'aurais pas trouvé. Donc, maintenant la macro ouvre bien PPT, mais
au moment de créer le fichier vierge, ça a l'air de bloquer.

En débogage le surlignage est sur (==>):
My_Pres = ThisWorkbook.Path & "exG.ppt"
==> Set Pres = PPT.Presentations.Open(My_Pres)

Dans le répértoire correspondant, le fichier demandé "ExG.PPT" n'a pas été
crée.

Quand je place mon curseur sur Pres, l'info bulle m'indique Pres = Vide

Any idea ?

Merci