Bonjour le forum,
Commençons par poser le contexte de mon problème. Je travaille sur une macro existante qui, à partir de données et de modèles de graphiques stockés dans un fichier .potm, crée plusieurs fichiers .ppt et tout une batterie de graphiques.
Cette macro fonctionnait parfaitement sous Excel 2010, mais certaines méthodes ne fonctionnent plus sous Excel 2016. Je suis en train de mettre à jour cette macro, mais un bug résiste toujours, et malgré plusieurs heures dessus, je ne me l'explique toujours pas...
Le bug exact retourné est : La méthode Top de l'objet PlotArea a échoué.
Et voici les lignes de code concernées :
...qui bug donc sur la ligne
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 Dim Mychart As PowerPoint.Chart Set oPPTapp = CreateObject("PowerPoint.Application") Set Mychart = oPPTapp.ActivePresentation.Slides(ID_Slide).Shapes(Nom_shape_Graphe).Chart Mychart.SetSourceData Source:="='Feuil1'!" & Range("$A$1:$B$" & WS.Range("A10000").End(xlUp).Row).Address, PlotBy:=xlColumns Temporis 7000 Mychart.Refresh Temporis 5000 Mychart.PlotArea.Select Temporis 20000 Mychart.PlotArea.Top = 7 Mychart.PlotArea.Height = 307 Mychart.RefreshAprès vérif sur le site de Microsoft, la méthode existe toujours bien sous 2016, je la retrouve via l'enregistreur de macro, j'ai testé différentes options que j'ai glané ci et là sur le net, ... mais rien n'y fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mychart.PlotArea.Top = 7
Je me pencherais plus vers la définition ou la déclaration de certains objets ? Mais si c'est le cas, une subtilité m'échappe...
Merci de votre aide !! :)
Partager