Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA PowerPoint Discussion :

Modification de données de graphiques sans liaison


Sujet :

VBA PowerPoint

  1. #1
    Membre du Club
    Modification de données de graphiques sans liaison
    Bonjour à tous,

    J'aimerais savoir s'il est possible de mettre à jour des données d'un graphique qui n'est pas lié à un tableau excel.

    Le graphique modèle a été créé directement dans powerpoint. Je voulais donc savoir si on avait la possibilité en vba de mettre à jour ce graphique avec de nouvelles données comme on pourrait le faire manuellement comme suit:

    - Selection du graphique;
    - Menu contextuel : Création ;
    - Modifier les données ;
    - Et encore modifier les données (et non modifier les données dans Excel).


    Merci d'avance pour vos retours.

  2. #2
    Membre du Club
    C'est bon j'ai trouvé
    Il m'a fallut 6 heures mais c'est bon.

    Désolé pour le dérangement.

    Si ça intéresse :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Sub TEST_ShowData_FromPPT()
     
    Dim cht As Chart
    Dim chtData As ChartData
    Dim cTable As Excel.ListObject
     
    Dim objPres As Presentation
    Dim objSld As Slide
    Dim objShp As Shape
     
        Set objPres = ActivePresentation
     
        For Each objSld In objPres.Slides
            ' parcourt des formes des diapositives
            For Each objShp In objSld.Shapes
                ' on test si c'est un objet graph            
                    If objShp.Type = msoChart Then
                        Set cht = objShp.Chart
                        Set chtData = cht.ChartData
                        chtData.Activate
     
                        With chtData
     
                            .Workbook.Sheets(1).Cells(2, 2).Value = 4000
     
                            .Workbook.Close
     
                            Exit Sub
     
                            'Set cTable = chtData.Workbook.Worksheets(1).ListObjects(1)
     
                        End With
     
                    End If
     
            Next objShp
        Next objSld
     
    End Sub