J'ai 30 graphiques créés à partir d'Excel et collés sur des diapositives PowerPoint. Chaque mois, je dois mettre à jour ces 30 graphiques intégrés en cliquant manuellement sur les graphiques et les modifier.
Je suis conscient qu'il existe une option pour utiliser la pâte spéciale, afin que les données des graphiques puissent être mises à jour automatiquement en cliquant sur les liens de mise à jour. Cependant, mes graphiques doivent être modifiés par certains utilisateurs. L'option spéciale Coller ne permet pas aux utilisateurs de modifier les graphiques. Par conséquent, je ne peux pas utiliser cette option spéciale de collage.
Je pense que la solution réside dans l'écriture d'un vba dans PowerPoint. Un expert ici peut-il proposer d'écrire ce code vba pour permettre à tous les graphiques d'être mis à jour dans PowerPoint? J'utilise actuellement PowerPoint 2007. Votre aide est grandement appréciée.
Si vous avez besoin de modifier les graphiques, vous devrez clairement soit modifier les fichiers Excel sous-jacents, soit être en mesure de modifier dans PowerPoint
Comme vous utilisez PowerPoint2007 qui fournit une prise en charge complète d'Excel (contrairement à PowerPoint 2003 qui a une fiche technique), je voudrais
Partie 1
Cela vous donne une solution flexible, sauf qu'Excel sous-jacent à chaque graphique ne peut pas être mis à jour automatiquement via une commande de mise à jour des liens du menu PowerPoint.
Partie 2
Vous pouvez utiliser le code ci-dessous pour tester chacun si chaque forme de chaque diapositive a un graphique. Si tel est le cas, ce code mettra à jour le premier lien Excel dans le fichier Excel sous le graphique (cette partie peut être modifiée pour gérer plusieurs liens)
Sub ChangeChartData()
Dim pptChart As Chart
Dim pptChartData As ChartData
Dim pptWorkbook As Object
Dim sld As Slide
Dim shp As Shape
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.HasChart Then
Set pptChart = shp.Chart
Set pptChartData = pptChart.ChartData
pptChartData.Activate
Set pptWorkbook = pptChartData.Workbook
On Error Resume Next
'update first link
pptWorkbook.UpdateLink pptWorkbook.LinkSources(1)
On Error GoTo 0
pptWorkbook.Close True
End If
Next
Next
Set pptWorkbook = Nothing
Set pptChartData = Nothing
Set pptChart = Nothing
End Sub
Ceci est assez facilement accompli, sans aucun code VBA requis.
Cliquez sur le "Bouton Office", sélectionnez "Modifier les liens vers le fichier" (c'est sous "Exécuter le contrôle de compatibilité", vous devrez faire défiler vers le bas pour voir cette dernière option):
Sélectionnez tous les graphiques intégrés (appelés ici "liens"), cliquez sur "Mettre à jour maintenant":
Vous pouvez utiliser la même fenêtre pour rompre les liens, ainsi que pour modifier le fichier source pour un lien donné.