IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Powerpoint Discussion :

Modifier un objet Excel lié dans ppt


Sujet :

Powerpoint

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Points : 68
    Points
    68
    Par défaut Modifier un objet Excel lié dans ppt
    Bonjour,
    Je voudrais pouvoir modifier dans powerpoint la position d'un tableau lié à Excel ou le nom d'in graphique, sans avoir à faire un copier/coller liaison de nouveau.
    2 raisons, j'ai plusieurs ppt à préparer avec des zones/graphiques différents et d'autre part les zones sont susceptibles de changer de taille dans Excel.

    Quand on fait edit sur le tableau dans ppt, il ouvre la zone concernée, mais je ne trouve pas comment la modifier (la zone, pas les données).

    Merci de vos lumières.

  2. #2
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Points : 68
    Points
    68
    Par défaut
    Bonjour,
    je me réponds à moi-même car je coyais avoir trouvé la solution, mais je n'ai résolu que la moitié du problème.
    En fait, il suffit de faire insérer-objet-feuille-excel et là ça créé une feuille incorporée (embeded) qui se gère comme une feuille normale et donc on peut modifier les formules. Pour un graphique ce sont 2 onglets, un pour les data et un pour le camembert. On peut déclarer cette feuille liée au collage.
    Jusque là tout va bien, si je double clique sur l'objet il s'actualise.

    Sauf que l'actualisation globale ne se fait pas. il faut cliquer sur chaque objet pour l'actualiser. Vu le nombre à gérer c'est juste impossible.
    Est-ce que vous avez une solution pour mettre à jour toutes les feuilles en même temps ?
    Je peux faire un vba si c'est la solution.
    Merci de votre aide.

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    En supposant que j'aie bien compris:

    Récupéré dans l'aide de VBA pour PowerPoint.

    Référence du développeur PowerPoint
    Presentation.UpdateLinks, méthode
    Met à jour les objets OLE liés dans la présentation spécifiée.
    Syntaxe

    expression.UpdateLinks

    expression Variable qui représente un objet Presentation.

    Exemple


    Cet exemple montre comment mettre à jour toutes les liaisons OLE de la présentation active.

    Visual Basic pour Applications
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActivePresentation.UpdateLinks
    © 2010 Microsoft Corporation. Tous droits réservés.



    Voir aussi
    Presentation, objet
    Presentation, membres de l’objet
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  4. #4
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Points : 68
    Points
    68
    Par défaut
    Bonjour,
    Merci pour la réponse, mais cela ne marche pas.
    Toute la différence est dans un objet lié et un objet incorporé.
    Si je fais copier/coller avec liaison il est lié et s'update bien à l'ouverture. PAr contre impossible de modifier la zone vers laquelle l'objet pointe et pour le modifier il faut faire un nouveau copier/coller.

    En faisant insérer objet Datasheet, il insère un fichier dans le ppt et la feuille est gérable comme une feuille excel, on peut modifier les formules etc.
    PAr contre cela ne s'update qu'en cliquant dessus.

    Sauf que j'ai trouvé cela http://stackoverflow.com/questions/9...-in-powerpoint
    Mais je n'ai pas l'option edit link dans preparer.

    J'ai oublié de préciser que je suis en 2007.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Points : 68
    Points
    68
    Par défaut
    J'ai fini par trouver la solution, un début du code dont j'ai besoin dans les FAQ, que j'ai arrangé à mon besoin. Ca marche nickel

    Code appelant pour traiter toutes les présentations.
    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
    Sub MAJALLEmbeddedObj()
    Dim Presentation As String
    Dim appPPT As PowerPoint.Application
    Dim Pr As Presentation
     
        stRepertoire = ActivePresentation.Path
        stPresentation = Dir(stRepertoire & "\*.pptx")
        If stPresentation = "" Then GoTo Fin
        Set appPPT = CreateObject("PowerPoint.Application")
     
    NextPPTX:
    ' j'explore d'abord toutes les présentation ouvertes
        For Each Pr In appPPT.Presentations
            If Pr.Name = "RefreshEmbeddedObjects.pptm" Then GoTo NextPr
            If Pr.Name = stPresentation Then
                Pr.Windows(1).Panes(1).Activate
                MAJEmbeddedObj (ActivePresentation.Name)
                GoTo FinMaj
            End If
    NextPr:
        Next Pr
        appPPT.Presentations.Open stPresentation
        MAJEmbeddedObj (stPresentation)
     
    FinMaj:
        ActivePresentation.Save
        ActivePresentation.Close
    Skip:
        stPresentation = Dir()
        If stPresentation = "" Then GoTo Fin
        GoTo NextPPTX
    Fin:
        MsgBox ("Mise à jour terminée")
    End Sub
    Code appelé pour faire la mise à jour
    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
    Sub MAJEmbeddedObj(Optional stPresentation)
    Dim appPPT As PowerPoint.Application
    Dim Sh As PowerPoint.Shape
    Dim Gr As Workbook
    Dim sld As Slide
     
        Application.WindowState = ppWindowMaximized
        If ActivePresentation.Name = "RefreshEmbeddedObjects.pptm" Then
            MsgBox ("Selectionner la présentation à actualiser avant de lancer la macro")
            Exit Sub
        End If
        For Each sld In ActivePresentation.Slides
            sld.Select
            For Each Sh In sld.Shapes
                Sh.Select
    'Verifie s'il s'agit d'un objet incorporé
                If Sh.Type = msoEmbeddedOLEObject Then
    'Vérifie s'il s'agit d'une feuille graphique
                    If Left(Sh.OLEFormat.ProgID, 12) = "Excel.Sheet." Then
                        Set Gr = Sh.OLEFormat.Object
                        'Gr.Sheets("Feuil1").Activate
                        Gr.Sheets("Feuil1").Calculate
    'j'affiche le graphe mais erreur si pas de graphe
                        On Error Resume Next
                        Gr.Sheets("Graph1").Activate
                        On Error GoTo 0
                    End If
                End If
            Next Sh
        Next sld
        ActivePresentation.Slides(1).Select
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2010] Impossible d'ouvrir un objet Excel inséré dans Word
    Par ninikkhuet dans le forum Microsoft Office
    Réponses: 3
    Dernier message: 14/10/2017, 10h32
  2. [WD-2007] Objet Excel inséré dans Word et qui se transforme en image
    Par Morgann Noémie dans le forum Word
    Réponses: 1
    Dernier message: 14/12/2010, 10h36
  3. [2007] Impossibilité de Modifier un Objet Excel intégré dans Word
    Par isabelle.letrong dans le forum Microsoft Office
    Réponses: 1
    Dernier message: 15/07/2010, 13h51
  4. modifier des fichiers Excel compris dans un jar
    Par soulspeace dans le forum Eclipse
    Réponses: 1
    Dernier message: 24/06/2009, 10h28
  5. Gestion des objets Excel.Application dans Access
    Par spaiku dans le forum VBA Access
    Réponses: 7
    Dernier message: 01/10/2008, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo