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.
Quelqu'un pourrait-il m'aider ?
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
Merci par avance
Partager