* Bonjour *

J’ai vainement tenté de faire fonctionner le code de cette discussion mais je plante toujours sur le ligne « paste » (que j’aurai tendance à appeler peste ce soir !.

Voila mon code, ou est l’erreur ? Je suspecte que les versions de VBA 2010 aient une autre syntaxe que celle employée qui a du pourtant faire ses preuves depuis 2006.

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Dim CheminAct, CheminPpt, NomPpt As String
CheminAct = ActiveWorkbook.Path
 
 
Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Dim Diapo As PowerPoint.Slide
Dim n, NbSh As Integer
 
Set PptApp = CreateObject("Powerpoint.Application")
    PptApp.Visible = msoCTrue
 
'Ouvre la presentation modèle et la sauve avec le nom du mois en cours
        CheminPpt = CheminAct & "\" & "PresentMod.ppt"
Set PptDoc = PptApp.Presentations.Open(CheminPpt)
        NomPpt = Sheets("Accueil").Cells(8, 3) & " Presentation " & Sheets("Accueil").Cells(11, 3) & ".ppt"
        CheminPpt = CheminAct & "\" & NomPpt
        PptDoc.SaveAs CheminPpt
 
With PptDoc
     'copie la plage de cellules dans la feuille Excel
        Sheets("Tab1").Range("A7:E8").Copy
 
'Effectue un collage dans la 2eme diapositive
       .Slides(1).Shapes.Paste
 
'    With .Slides(1).Shapes(.Slides(2).Shapes.Count)
'        .Name = "monTableau" 'Renomme l'objet collé
'        .Left = 150 'position horizontale dans le slide
'        .Top = 100 'position verticale dans le slide
'        .Height = 300 'hauteur
'        .Width = 400 'largeur
'    End With
End With
 
PptDoc.Save 'sauvegarder les modifications
PptDoc.Close 'fermer le document ppt
PptApp.Quit 'fermer l'application powerPoint
 
End Sub
Merci d'avance et bon Noel