Problème avec .workbook.close (MAJ de graphiques PPT)

Bonjour

Depuis hier, des projets VBA qui fonctionnaient correctement se plantent sur l'instruction .workbook.close

J'ai développé un outil qui mets à jour des fichiers PPT à partir de macros Excel VBA, j'utilise cet outil depuis plus de 2 ans sans problème, sur PC et sur Mac.

La mise à jour des graphiques dont voici le code ne fonctionne plus et bloque sur .workbook.close :

Sub MAJ_GraphiqueB(Numero_slide, Plage_Graphique, Nom_Graphique) 'copie des données Application.Goto Reference:=Plage_Graphique Selection.Copy 'mise à jour du graphique With PptDoc.Slides(Numero_slide).Shapes(Nom_Graphique).Chart.ChartData .Activate .Workbook.Sheets(1).Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False .Workbook.Close End With Application.CutCopyMode = False End Sub••••ˇˇˇˇ

J'ai essayé la désinstallation et la réinitialisation de mon PC et le problème persiste

J'ai exécuté le projet sur mon MAC et il se bloque au même endroit avec ce message :

"Erreur d'exécution "1004" :

la méthode Close de la classe workbook a échoué"

Est ce quelqu'un aurait une piste pour fermer la feuille de données du graphique PPT qui remplacerait .workbook.close ?

Merci

Eddie

Bonjour,

Est-ce que tu es sûr que ce code n'a pas été modifié dernièrement ?

Quand l'on utilise With ...

Pour les objets compris entre la ligne With et la ligne End With ...

Le point (.) devant un objet lie cet objet à celui du With.

Dans ce cas-ci, .Workbook.sheets(1)........ et .Workbook.Close ...... sont liés à .... .chartData ....

ric

Merci ric pour ton message

Le code n'a pas été modifié

Le .workbook est bien lié à chardata : c'est le classeur "graphique dans PowerPoint" qui s'ouvre dans PPT quand tu cliques sur "modifier les données"

Le code ouvre bien ce classeur, mets à jour les données et se bloque au moment de refermer ce classeur

Eddie

Re-bonjour

En cherchant, j'ai trouvé une solution pour mettre à jour la plage de données sans ouvrir la plage de données du graphique (donc plus besoin .workbook.close)

G_stress est le nom de mon graphique PPT

Slide7_2 est la plage de données que je copie

With PptDoc.Slides(num_slide).Shapes("G_Stress").Chart.ChartData .Workbook.Sheets(1).Range("A2:B7").Value = Range("Slide7_2").Value End With

Comme toute galère est bonne, je gagne du temps en production !

Bonne journée et prenez soin de vous

Eddie

Bonjour,

Excellent

ric

Rechercher des sujets similaires à "probleme workbook close maj graphiques ppt"