Mise à jour de certains graphiques liés Powerpoint - Excel

Word, PowerPoint, Outlook, Access et tous les autres logiciels de la suite Office (sauf Excel)
J
JRC
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 2 septembre 2016
Version d'Excel : 2010

Message par JRC » 20 février 2018, 17:24

Bonjour à tous et merci pour l'aide que vous nous apportez chaque jour.
Voilà mon souci:
J'ai une présentation Powerpoint dans laquelle sont présents plusieurs graphiques liés d'Excel.
Pour chaque graphiques, j'ai des CheckBox qui me permettent d'afficher ou non une courbe sur le graphique grâce à un code vba qui pilote un autre CheckBox dans Excel. Le problème est que pour chaque CheckBox coché, mon code vient faire un ActivePresentation.UpdateLinks qui met à jour tous les graphiques de la présentation et prends un temps fou. J'aimerais pouvoir mettre à jour uniquement le graphique de la page concernée par le CheckBox que je viens cocher ou non mais je n'y arrive pas avec mon niveau en VBA. J'ai essayé de bidouiller des choses mais ça reste infructueux.
Je vous joint mes deux fichiers Excel et Powerpoint ainsi que le code de mes Checkbox.

Merci à tous ceux qui prendront le temps de bien vouloir m'éclairer un peu.
Pres Avancementnew.pptm
(536.6 Kio) Téléchargé 40 fois
Avancementnew.xlsx
(74.17 Kio) Téléchargé 37 fois

Voici le code de chacune de mes CheckBox:

Private Sub CheckBox6_Click()
Dim xlApp As Object
Dim xlWorkBook As Object

'Set xlApp = GetObject(, "Excel.Application")

'Séquence ajoutée pour vérifier qu'EXCEL est en exécution
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")

If xlApp Is Nothing Then
MsgBox "EXCEL n'est pas en exécution, cliquez sur l'Icône <Document> en bas à droite puis laisser le fichier Excel en arrière plan."
On Error GoTo 0
Exit Sub
End If
On Error GoTo 0

xlApp.Visible = False
Set xlWorkBook = xlApp.Workbooks.Open("D:\chajx022\Desktop\A transferer\Avancement\Avancementnew.xlsx", True, False)
xlWorkBook.sheets("Lignes").Shapes("Case à cocher 6").OLEFormat.Object.Value = CheckBox6.Value

ActivePresentation.UpdateLinks

xlWorkBook.Save
xlWorkBook.Close
Set xlApp = Nothing
Set xlWorkBook = Nothing
End Sub
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message