Bonjour.
Je souhaiterais modifier les données d'un graphique en camembert créé directement sous PowerPoint. Comment dois-je m'y prendre ?
Bonjour.
Je souhaiterais modifier les données d'un graphique en camembert créé directement sous PowerPoint. Comment dois-je m'y prendre ?
Bonsoir.
J'espère avoir bien compris ta question :
1) clique droit sur le graphique.
2) sélectionne l'option "modifier les données" (avec l'icône excel)
Une feuille excel s'ouvre.
Tu n'as plus qu'à modifier le tableau correspondant.
J'espère avoir répondu à ta question.
Bonne soirée.
Greg
Euh... étant dans le sous-forum "VBA PowerPoint" je ne l'avais pas précisé dans ma question initiale, mais il s'agit de faire la manipulation via une macro. Sinon je sais faire.
Bonjour.
Oui, effectivement... je trouvais la question un peu simplette...
Mets un exemple...
Voici le début du code :
Ça plante sur la dernière ligne avec une erreur d'exécution n°438 : "Propriété ou méthode non gérée par cet objet". Pourtant ChartData figure bien dans les membres de l'objet Chart, shpCamembert est bien un objet Chart (vérifié avec shpCamembert.Type) et shpCamembert.Chart.ChartTitle.Text fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ' Déclarations Dim sldTest As Slide Dim shpCamembert As Shape Dim varDonnees() As Variant ' Affectations Set sldTest = ActivePresentation.Slides(4) Set shpCamembert = sldTest.Shapes("Camembert") varDonnees = shpCamembert.Chart.ChartData
Finalement j'ai contourné le problème en utilisant un objet OLE Excel :
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 Public Sub changerCamembert(ByVal sngPct As Single) ' Vérification de la valeur de sngPct (pourcentage) avant tout If sngPct <= 1 And sngPct > 0 Then ' Déclarations Dim sldTest As Slide Dim shpCamembert As Shape ' Affectations Set sldTest = ActivePresentation.Slides(4) Set shpCamembert = sldTest.Shapes("Camembert") shpCamembert.OLEFormat.Object.sheets("Données").Range("B2").Value = sngPct shpCamembert.OLEFormat.Object.sheets("Données").Range("B3").Value = 1 - sngPct Else MsgBox "Il faut fournir une valeur entre 0 et 1 !", vbExclamation + vbOKOnly, "Format incorrect" End If End Sub
Bonjour.
J'ai trouvé une méthode plus élégante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part shpCamembert.Chart.ChartData.Workbook.Worksheets(1).Cells(2,2).Value
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager