Copier tableau excel dans powerpoint via macro

Messages postés
20
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
12 décembre 2011
- - Dernière réponse : cs_Le Pivert
Messages postés
6340
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 novembre 2019
- 13 déc. 2011 à 10:21
Bonjour,

1) j'ai trouvé un code pour copier et coller des tableaux excel sur powerpoint via une macro :

Private Sub CommandButton1_Click()

'Sélection des données du premier tableau

Sheets("SLIDE4-Faits marquants").Range("tableau1").Select
Selection.Copy

'La Presentation est ouverte et la référence à PowerPoint activée
Dim PPApp As PowerPoint.Application
Set PPApp = GetObject(Class:="Powerpoint.Application")
PPApp.ActivePresentation.Slides(4).Select
PPApp.ActivePresentation.Slides(4).Shapes.PasteSpecial(ppPasteDefault, link:=True).Select



End Sub


2) Lors du collage du tableau sur powerpoint, j'aimerais qu'il se place à un endroit précis et avec la bonne dimension => connaissez vous un code ????

3) le mois suivant, ces memes tableaux collés doivent être supprimer => savez vous comment faire ??? j'ai trouvé un code mais qui efface tout... donc pas terrible car il y a des tableaux sur les slides qui ne doivent pas être effacer...

MERCI d'avance de vos éventuels retours

Max
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
6340
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 novembre 2019
88
1
Merci
Bonjour,
J'ai trouvé cela dans mon stock, c'est bien commenté. Tu feras le tri:

'Microsoft PowerPoint 11.0 Object Library
Sub NouvellePresentation()

Dim PptDoc As PowerPoint.Presentation
Dim Diapo As PowerPoint.Slide
Dim Sh As PowerPoint.Shape
Dim Cs1 As ColorScheme
Dim NbShpe As Integer

Dim PptApp As Variant
Set PptApp = CreateObject("Powerpoint.Application")
Set PptDoc = PptApp.Presentations.Add

With PptDoc

'--- Ajoute un Slide
.Slides.Add Index:=1, Layout:=ppLayoutBlank
'Crée une zone de texte (AddLabel)
Set Sh = .Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
Left:=100, Top:=100, Width:=150, Height:=60)
'insère la valeur de la Cellule A1 dans une zone de texte
Sh.TextFrame.TextRange.Text = Range("A1")
'Modifie la couleur du texte
Sh.TextFrame.TextRange.Font.Color = RGB(255, 100, 255)


'--- Ajoute un nouveau slide et le positionner en 2eme position
Set Diapo = .Slides.Add(Index:=2, Layout:=ppLayoutBlank)

'copie le 1er graphique contenu dans la feuille Excel active
ActiveSheet.ChartObjects(1).Copy
'collage dans la 2eme diapositive
Diapo.Shapes.Paste

'Compte le nombre de shapes dans la diapositive:
'le dernier objet inséré correspond à l'index le plus élevé
NbShpe = Diapo.Shapes.Count

'Renomme et met en forme l'objet collé
With Diapo.Shapes(NbShpe)
.Name = "monGraph" 'personnalise le nom
.Left = 150 'définit la position horizontale dans le slide
.Top = 100 'définit la position verticale dans le slide
.Height = 300 'hauteur
.Width = 400 'largeur
End With


'--- Modifie la couleur de fond dans les différents Slides
'Set Cs1 = .ColorSchemes(3)
'Cs1.Colors(ppBackground).RGB = RGB(UserForm1.TextBox1, UserForm1.TextBox2, UserForm1.TextBox3)
'.SlideMaster.ColorScheme = Cs1
End With

'Sauvegarde la présentation
'dans le meme répertoire que le classeur excel contenant la macro.
PptDoc.SaveAs FileName:=ThisWorkbook.Path & "" & "NouvellePresentation_graph.ppt"
'ferme la presentation
PptDoc.Close
'ferme powerpoint
PptApp.Quit

MsgBox "Opération terminée."
End Sub



Tu appelles ta macro avec:NouvellePresentation
Cela tu sais.
Tu ne verras pas la présentation PTT, mais elle sera dans le même dossier que ton classeur.


@+Le Pivert

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 206 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Le Pivert
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
213
0
Merci
Bonjour,
1) enore une fois dans la section VB6 au lieu de VBA
2) D O U B L O N
3) bonne chance, donc.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
20
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
12 décembre 2011
0
Merci
sincerement désolé et vraiment confus ! en tout cas j'assume !!
Commenter la réponse de schevs10