Bonjour à tous,
Tout est dit dans le titre. Je réalise une présentation hebdomadaire en important des graphes et des plages de cellules d'un fichier Excel vers un fichier ppt.

Pour cela j'utilise le code suivant:

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
Sub NouvellePresentation()
'
' NouvellePresentation Macro
'
 
Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Dim Diapo As PowerPoint.Slide
Dim Sh As PowerPoint.Shape
Dim Cs1 As ColorScheme
Dim NbShpe As Integer
 
 
Set PptApp = CreateObject("Powerpoint.Application")
Set PptDoc = PptApp.Presentations.Add
PptApp.Visible = True
Set PptDoc = PptApp.Presentations.Open("P:\Documentation \Stat \TemplateStats.ppt")
 
 With PptDoc
 
 
    '--- Ajoute un nouveau slide et le positionner en 2eme position
    Set Diapo = .Slides.Add(Index:=2, Layout:=ppLayoutBlank)
 
'--    'Crée une zone de texte (AddLabel)
    Set Sh = .Slides(2).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
       Left:=50, Top:=50, Width:=500, Height:=50)
    'insère la valeur de la Cellule A2 dans une zone de texte
    Sh.TextFrame.TextRange.Text = Range("A2")
    'Modifie la couleur du texte
    Sh.TextFrame.TextRange.Font.Color = RGB(250, 0, 0)
 
    'copie le 1er graphique contenu dans la feuille Excel active
    Sheet10.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 = 50 'définit la position horizontale dans le slide
        .Top = 100 'définit la position verticale dans le slide
        .Height = 400 'hauteur
        .Width = 650 'largeur
    End With
 
End Sub
Je réitère le With pour chaque graphique à copier. mais voilà, tout marche bien quand il s'agissait de graphique fait sous Excel2003, mais depuis que je suis passé au 2007, les graphes qui s'ajouttent et dont la mise en forme sont ceux d'Office 2007 apparaissent en noir et blance sur le ppt.
Comment puis-je résoudre ce petit soucis ??

De plus comment ajouter dans le code précédent de la même manière que pour les graphes, une selection de cellules (contenant un graphe, mais parfois d'autres cellules voisines) dans un slide à part?
Normalement avant l'automatisation, je copiais la selection avec un special past en tant qu'image puis collait la selection sur un slide.

PS: j'ai activé la référence de Office.powerpoint

Merci pour vos réponses

Cordialement.