Bonjour à tous !

Dans le contexte de mon stage, je dois effectuer une macro Excel Powerpoint me permetant de copier coller sous VBA mes graphiques Excel sous une présentation PowerPoint. Etant donné que je suis loin d'etre un expert sous VBA, je suis arrivé a concevoir une Macro mais je rencontre plusieurs soucis:
1) Tout d'abord, vu le nombre de graphiques, ma macro ne retrouve pas tout le temps les bons graphiques. Je voudrais donc savoir s'il y a un autre moyen pour séléctionner parfaitement les graphiques.
2) De plus, etant donné que ma macro ne créé pas une nouvelle présentation Powerpoint mais utilise toujours la meme, les graphiques s'empilent et je ne sais donc pas comment supprimer mes anciens graphiques pour les remplacer par les nouveaux.

Voici la macro en qustion:



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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Sub Copie()
    'necessite d'activer la reference Microsoft Powerpoint Object Library
    Dim PPT As PowerPoint.Application
    Dim PptDoc As PowerPoint.Presentation
    Dim NbShpe As Byte
 
    Set PPT = CreateObject("Powerpoint.Application") 'creation session PowerPoint
    PPT.Visible = True 'l'application sera visible
    Set PptDoc = PPT.Presentations.Open("P:\CAAM London Branch\Front Office\Product Specialists London Branch\Tools\Projet Graph\Présentation1.pptx") 'ouverture fichier ppt
 
 
    'copie du graphique nommé,contenu  dans la feuille active
 
        Sheets(1).ChartObjects("Graphique 1").Copy
 
   PptDoc.Slides(1).Shapes.Paste 'collage dans le Slide5 du document Power Point
 
       Sheets(2).ChartObjects("Graphique 1").Copy
    PptDoc.Slides(2).Shapes.Paste 'collage dans le Slide5 du document Power Point
 
        Sheets(2).ChartObjects("Graphique 2").Copy
    PptDoc.Slides(3).Shapes.Paste 'collage dans le Slide5 du document Power Point
 
 
    'compte le nombre de shapes dans le 3eme slide
    'le dernier objet inséré correspond à l'index le plus élevé
    NbShpe = PptDoc.Slides(1).Shapes.Count
 
    With PptDoc.Slides(1).Shapes(NbShpe)
        .Name = "monGraph" 'personnaliser le nom de l'image insérée
        .Left = 70 'position horizontale dans le slide
        .Top = 70 'position verticale dans le slide
        .Height = 5 'hauteur image
        .Width = 5 'largeur image
 
        End With
 
 
     'compte le nombre de shapes dans le 3eme slide
    'le dernier objet inséré correspond à l'index le plus élevé
    NbShpe = PptDoc.Slides(2).Shapes.Count
 
    With PptDoc.Slides(2).Shapes(NbShpe)
        .Name = "monGraph" 'personnaliser le nom de l'image insérée
        .Left = 60 'position horizontale dans le slide
        .Top = 85 'position verticale dans le slide
        .Height = 400 'hauteur image
        .Width = 600 'largeur image
 
        End With
 
 
    'compte le nombre de shapes dans le 3eme slide
    'le dernier objet inséré correspond à l'index le plus élevé
    NbShpe = PptDoc.Slides(3).Shapes.Count
 
    With PptDoc.Slides(3).Shapes(NbShpe)
        .Name = "monGraph" 'personnaliser le nom de l'image insérée
        .Left = 60 'position horizontale dans le slide
        .Top = 85 'position verticale dans le slide
        .Height = 400 'hauteur image
        .Width = 600 'largeur image
 
        End With
 
PptDoc.Save '
 PptDoc.Close '
 PPT.Quit '
End Sub




Merci de votre aide