Famille de produits graphiques de présentation de Microsoft qui offrent des outils pour créer des présentations et ajouter des effets graphiques comme des objets multimédias et des effets spéciaux avec du texte.
Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.
Cette réponse a été traduite automatiquement. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.
Cher CHARPENTIER Jérôme,
Merci de nous avoir contactés.
Actuellement, PowerPoint ne dispose pas d’une fonctionnalité intégrée permettant de lier dynamiquement un tableau et un graphique au sein d’une même présentation, car le graphique « modifier » seul peut nous conduire à une mini « fenêtre d’édition de tabel excel ». Toutefois, vous pouvez essayer la solution de contournement à l’aide de VBA. Je l’ai testé et ça marche.
- Tout d’abord, personnalisez le ruban et ajoutez l’onglet « Développeur ».
- Cliquez ensuite sur « Macros ».
- Créez une macro avec un nom et modifiez-la
Ajoutez ce code VBA dans le module.
Sub UpdateChartFromTable_DifferentSlides()
Dim tableSlide As Slide
Dim chartSlide As Slide
Dim pptTable As Table
Dim pptChart As Chart
Dim pptDataSheet As ChartData
Dim pptWorkbook As Object
Dim i As Integer, j As Integer
' Define the slide numbers (modify as needed)
Set tableSlide = ActivePresentation.Slides(1) ' Slide where the table is located
Set chartSlide = ActivePresentation.Slides(2) ' Slide where the chart is located
' Locate the table (assumes it's the first shape on the slide)
Set pptTable = tableSlide.Shapes(1).Table
' Locate the chart (assumes it's the first shape on the second slide)
Set pptChart = chartSlide.Shapes(1).Chart
' Open the chart's internal data sheet
Set pptDataSheet = pptChart.ChartData
pptDataSheet.Activate
' Reference the Excel-like workbook inside the chart
Set pptWorkbook = pptDataSheet.Workbook
' Update chart data from the PowerPoint table
With pptWorkbook.Worksheets(1)
' Loop through table rows and columns
For i = 1 To pptTable.Rows.Count
For j = 1 To pptTable.Columns.Count
.Cells(i, j).Value = pptTable.Cell(i, j).Shape.TextFrame.TextRange.Text
Next j
Next i
End With
' Refresh the chart
pptChart.Refresh
' Close the data sheet
pptWorkbook.Application.Quit
' Cleanup
Set pptWorkbook = Nothing
Set pptDataSheet = Nothing
Set pptChart = Nothing
Set pptTable = Nothing
Set tableSlide = Nothing
Set chartSlide = Nothing
MsgBox "Chart updated successfully from table on Slide 1!", vbInformation
End Sub
Remarque : Vous devez ajuster les numéros de diapositive et les numéros de forme du tableau et du graphique. Cliquez ensuite sur « exécuter » pour l’exécuter.
Ainsi, chaque fois que vous mettez à jour la table, vous pouvez exécuter la macro, elle mettra à jour le graphique automatiquement.
Faites-moi savoir si cela vous aide ou si vous avez besoin d’une aide supplémentaire.
Sincères salutations
Modérateur de la communauté | Sophia