Bonjour à tous,
J'ai un classeur excel "test" qui contient deux graphiques sur l'onglet "graphiques" : "graphique 1" dont les données sont en A1:B5 de l'onglet "données" et "graphique 2" dont les données sont en E1:F5 sur l'onglet "données". J'ai également un Powerpoint "test" qui contient le graphique 1 en page 2 et le graphique 2 en page 3. Je souhaiterai mettre un Bouton sur mon classeur excel pour mettre à jour le Powerpoint mais je bloque... J'ai utilisé la macro proposé dans la FAQ mais je n'arrive pas à la faire marcher sur mon fichier.

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
 
Sub MAJ_graphiqueDansPresentation()
Dim appPPT As PowerPoint.Application
Dim Sh As PowerPoint.Shape
Dim Gr As Workbook
 
Set appPPT = CreateObject("PowerPoint.Application")
appPPT.Visible = msoTrue
appPPT.Presentations.Open "C:\Users\Administrateur\Desktop\test.pptx"
 
'Copie une plage de cellules dans la feuille active
'Ces données vont être collées dans le classeur incorporé, dans ppt, servant
'de source pour le graphique.
ActiveSheet.Range("A1:B5").Copy
 
'Le classeur incorporé est dans le 1er Slide
With appPPT.ActivePresentation.Slides(2)
    'Boucle sur les formes pour retrouver l'objet Excel
    For Each Sh In .Shapes
        'Verifié s'il s'agit d'un objet incorporé
        If Sh.Type = msoEmbeddedOLEObject Then
            'Vérifie s'il s'agit d'une feuille graphique
            If Sh.OLEFormat.progID = "Excel.Chart.8" Then
                Set Gr = Sh.OLEFormat.Object
                'Colle les données dans la Feuil1 du classeur incorporé
                'La feuil1 contient la source de données pour le graphique
                Gr.Sheets("Données").Range("A1").PasteSpecial
                'réactive la première feuille du classeur incorporé
                '(Le graphique est situé dans ce 1er onglet)
                Gr.Sheets(1).Activate
            End If
        End If
    Next Sh
End With
 
ActiveSheet.Range("E1:F5").Copy
 
'Le classeur incorporé est dans le 1er Slide
With appPPT.ActivePresentation.Slides(3)
    'Boucle sur les formes pour retrouver l'objet Excel
    For Each Sh In .Shapes
        'Verifié s'il s'agit d'un objet incorporé
        If Sh.Type = msoEmbeddedOLEObject Then
            'Vérifie s'il s'agit d'une feuille graphique
            If Sh.OLEFormat.progID = "Excel.Chart.8" Then
                Set Gr = Sh.OLEFormat.Object
                'Colle les données dans la Feuil1 du classeur incorporé
                'La feuil1 contient la source de données pour le graphique
                Gr.Sheets("Données").Range("E1").PasteSpecial
                'réactive la première feuille du classeur incorporé
                '(Le graphique est situé dans ce 1er onglet)
                Gr.Sheets(1).Activate
            End If
        End If
    Next Sh
End With
End Sub
Quelqu'un pourrait-il m'aider ?
Merci par avance