Bonjour
je viens vous voir parce que je perds la tête
je dois programmer une macro sous excel qui pilote powerpoint, et qui change les données sources du graphique intégré directement dans powerpoint
J'ai trouvé ce code à plusieurs endroit
le problème c'est que sur powerpoint 2007 on intègre plus un objet "OLEObject" mais un objet "chart"
donc forcement le code ne fonctionne pas ... il me dit que l'objet que je lui demande de sélectionner n'est pas un objet OLEObject (merci ça je le savais déjà grrrrr)
et comme les macros automatiques ne fonctionnent pas, je galère
vous avez une idée ???
merci d'avance
bonne journée à vous
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 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:\maPresentation.ppt" '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:G10").Copy 'Le classeur incorporé est dans le 1er Slide With appPPT.ActivePresentation.Slides(1) '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("Feuil1").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 End Sub
Partager