Liaison de données Excel 2010 -Powerpoint 2010

chezeu

XLDnaute Nouveau
Bonjour Je suis novice en VBA,

Je voudrais comment faire des collages avec liaisons de données des

graphiques Excel 2010 vers PowerPoint 2010.

Le fichier Excel et le fichier powerpoint sont dans le même répertoire. Mais

quand je déplace le répertoire la mise à jour automatique ne fonctionne plus.

Comment changer des chemins absolus en des chemins relatifs ?

J'ai essayé d'adapter l'exemple

FAQ MS-Excel

en l'adaptant comme ceci

Presentation = ThisWorkbook.Path & "\\Tableau de bord Qualité.pptx"
'Le nouveau classeur lié
targetMaj = ThisWorkbook.Path & "\\TDBQAnalysis90 Production.xls"

Mais j'obtiens le message d'erreur: "erreur d'execution 424 objet requis".

Merci d'avance pour votre aide évenutel
 

chezeu

XLDnaute Nouveau
Re : Liaison de données Excel 2010 -Powerpoint 2010

Bonjour Pierrot93 même avec un seul "\" c est le même problème

Y a t il une bibliothèque à rajouter ?

voici le code:

Sub maj()

Dim pwrPoint As PowerPoint.Application
Dim Prez As PowerPoint.Presentation
Dim targetMaj As String
Dim Forme As PowerPoint.Shape
Dim Diapo As PowerPoint.Slide

Presentation = ThisWorkbook.Path & "\Tableau de bord Qualité.pptx"
'Le nouveau classeur lié
targetMaj = ThisWorkbook.Path & "\TDBQAnalysis90 Production.xls"

Set pwrPoint = CreateObject("PowerPoint.Application")
pwrPoint.Visible = msoTrue
Set Prez = pwrPoint.Presentations.Open(Presentation)

'Boucle sur les Slide de la présentation
For Each Diapo In Prez.Slides
'Boucle sur les formes
For Each Forme In Diapo.Shapes
'Vérifie s'il s'agit d'un objet lié
If Forme.Type = msoLinkedOLEObject Then
'Vérifie si l'objet lié est un objet Excel
If Forme.OLEFormat.ProgID = "Excel.Sheet.8" Then
'Modifie la source
Forme.LinkFormat.SourceFullName = targetMaj
'Mise à jour
Forme.LinkFormat.Update
End If
End If
Next
Next

Prez.Save
'ferme la présentation
Prez.Close
'ferme powerpoint
pwrPoint.Quit



End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Liaison de données Excel 2010 -Powerpoint 2010

Bonjour chezeu, Bonjour Pierrot :),

Sinon (c'est mon cheval de bataille, Misange a ses Tables de données et moi c'est les références :D), on peut se passer des références si on fait appel aux objets Office avec CreateObject
Désavantage : pas d'aide contextuelle quand on code
Avantage : pas de référence à cocher, donc devrait fonctionner sur plusieurs versions différentes des références, sauf code spécifique à une version

un exemple avec Outlook, mais le même principe peut s'appliquer à toutes les applications Office (voir début du fil) :
https://www.excel-downloads.com/thr...-outlook-dun-onglet-du-classeur-actif.189558/
 

chezeu

XLDnaute Nouveau
Re : Liaison de données Excel 2010 -Powerpoint 2010

Ok c est juste que c'est la première fois que je fais du VBA.

Comme je travaille dans le fichier PowerPoint, qu'est que je devrais plutôt mettre ?

Je veux lier le fichier Excel et le fichier PowerPoint, de telle sorte que même si on les change de répertoire,

la mise à jour soit toujours automatique.
 

chezeu

XLDnaute Nouveau
Re : Liaison de données Excel 2010 -Powerpoint 2010

Bonjour

La macro sur le fichier Excel réussit à modifier le chemin C:\02-Analyse\TDBQ - Analysis - 10 - Global SM.xlsx!COM!L324C15:L368C66 en C:\02-Analyse\TDBQ - Analysis - 10 - Global SM.xlsx


Voici le code utilisé

Presentation = ThisWorkbook.Path & "\TableaudebordQualité.pptx"
'Le nouveau classeur lié
targetMaj = ThisWorkbook.Path & "\TDBQAnalysisGlobal.xlsx"

Comment je peux faire pour juste changer C:\02-Analyse\TDBQ - Analysis - 10 - Global SM.xlsx

Et conserver !COM!L324C15:L368C66
 

Discussions similaires

Statistiques des forums

Discussions
314 630
Messages
2 111 369
Membres
111 115
dernier inscrit
mermo