copier tableaux excel dans un power point

CHTING

XLDnaute Junior
Bonjour à toutes et à tous
Grace au forum et notamment Martial (encore merci).
J'ai réussi à copier un tableaux Excel sur un fichier word.

maintenant je souhaite réalisé la même chose sur un power point.

Pour cela, j'ai cette macro :
Sub Excel_pdf()
Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Set PptApp = CreateObject("Powerpoint.Application")
PptApp.Visible = True
Set PptDoc = PptApp.Presentations.Open("C:\outil DU info\nouveau dispositif\Présentation1.ppt")

With PptDoc
'copie la plage de cellules dans la feuille Excel active
'Sheets("Extraction").Range("B1:H5").Copy
ld = [tablo].Find("début", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlNext).Row
cd = [tablo].Find("*", LookIn:=xlValues, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext).Column
lf = [tablo].Find("fin", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
cf = [tablo].Find("*", LookIn:=xlValues, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

'Copier une plage depuis Excel
ActiveSheet.Range(Cells(ld, cd), Cells(lf, cf)).Copy

'Effectue un collage dans la 2eme diapositive
PptApp.ActivePresentation.Slides(2).Select
PptApp.ActivePresentation.Slides(2).PasteSpecial
'.Slides(2).Shapes.Paste

End With
End Sub
L'objectif est d'ouvrir un ppt prédéfini et de copie un tableau au choix dans le slide 2
Tout fonctionne bien jusqu'au collage dans le slide 2 (J'arrive à selectionner le slide 2 mais les deux fonctions ci dessous ne fonctionne pas)
PptApp.ActivePresentation.Slides(2).PasteSpecial
ou
.Slides(2).Shapes.Paste

Je vous joint l'exemple excel (je n'arrive pas à joindre le ppt mais c'est un fichier avec 3 slides totalement vides)

par avance merci

Cordialement
 

Pièces jointes

  • testexcelppt.xlsm
    12.8 KB · Affichages: 24

Yaloo

XLDnaute Barbatruc
Re : copier tableaux excel dans un power point

Re,

Voir avec cette macro, chez moi ça fonctionne :

VB:
Option Explicit

Sub Excel_pdf()
 Dim PptApp As PowerPoint.Application
 Dim PptDoc As PowerPoint.Presentation
 Dim ld&, lf&, cd&, cf&
 Set PptApp = CreateObject("Powerpoint.Application")
 PptApp.Visible = True
 Set PptDoc = PptApp.Presentations.Open("C:\outil DU info\nouveau dispositif\Présentation1.ppt")

 'copie la plage de cellules dans la feuille Excel active
 'Sheets("Extraction").Range("B1:H5").Copy
 ld = [tablo].Find("début", LookIn:=xlValues, _
 SearchOrder:=xlByRows, SearchDirection:=xlNext).Row
 cd = [tablo].Find("*", LookIn:=xlValues, _
 SearchOrder:=xlByColumns, SearchDirection:=xlNext).Column
 lf = [tablo].Find("fin", LookIn:=xlValues, _
 SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
 cf = [tablo].Find("*", LookIn:=xlValues, _
 SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

 'Copier une plage depuis Excel
 ActiveSheet.Range(Cells(ld, cd), Cells(lf, cf)).Copy
 With PptApp

 'Effectue un collage dans la 2eme diapositive
 .ActiveWindow.ViewType = ppViewSlide
 .ActivePresentation.Slides(2).Select
 .ActiveWindow.View.Paste
 End With
 Set PptApp = Nothing
 Set PptDoc = Nothing
End Sub

A+

Martial
 

CHTING

XLDnaute Junior
Re : copier tableaux excel dans un power point

Super,

merci ça marche très bien.
J'ai encore une dernière question :)
Chaque tableau a sa place dans un slide défini (ex : tableau 1 dans slide 2, tableau 2 dans slide 3, tableau dans slide 4 etc...)
mais dans mon programme, les tableaux ne sont pas tous créés (ex: pas de tableau 2 donc slide 3 vide)
Donc je cherche à supprimer les slide vide en fonction de l'absence de valeur dans certaine cellules.
Du style :

With PptApp
If Range("A20") = "" Then
.ActivePresentation.Slides(2).Select
.ActiveWindow.View.Delete
End With
Cordialement
 

Yaloo

XLDnaute Barbatruc
Re : copier tableaux excel dans un power point

Bonjour Chting, le forum,

Avec cette ligne, ça supprime le Slide 3 :
VB:
 .ActivePresentation.Slides(3).Delete

Mais fais attention à l'ordre des suppressions, car si tu supprimes le Slide(2), le Slide(3) devient le Slide(2)
Il faut donc partir de la fin pour venir jusqu'au début.

Le mieux serait peut-être plutôt de partir d'une présentation avec un Slide et d'en ajouter en fonction des besoins avec
VB:
PptDoc.Slides.Add 1, 1

A+

Martial
 

CHTING

XLDnaute Junior
Re : copier tableaux excel dans un power point

Ca marche.
je sais pour l'ordre des suppression.
C'est pourquoi je prevois de mettre une boucle de supptression à la toute fin du programme.
Ca évitera le problème des numéros.

merci encore.

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 688
dernier inscrit
Biquet78