Modifier les liaisons entre Excel et Power Point par code

maxwellou

XLDnaute Occasionnel
Bonjour,

Voilà mon soucis, j'ai une présentation Power Point avec 160 slides et autant de liaison sur des fichiers Excel.

Lorsque je veux modifer la sources des données Excel, je suis contraint de modifier un par un les 160 liaisons.

Ma question est : Existe-il une solution pour modifier toutes les sources en une seule fois ? (sachant que les sources sont dans des répertoires différents, ex. ci-dessous:

Source à modifer => c:\tableau de bord\2013\janvier\indicateur 1\fichier excel 01/2013.xls

Source cible => c:\tableau de bord\2013\février\indicateur 1\fichier excel 02/2013.xls


Merci de votre aide.
 

maxwellou

XLDnaute Occasionnel
Re : Modifier les liaisons entre Excel et Power Point par code

Rebonjour,

par rapport à ton test... as-tu le cas où entre 2 slides qui se suivent tu as le cas où il y a des liens sur le même fichier Excel ? pour moi, c'est le cas...Et mon code, n'arrive vraisembablement à gérer. En effet, la boucle va venir ouvrir un fichier Excel (comme pour toi) mais dès lors qu'il y a autre liaison dans ce fichier Excel, le code n'a pas le temps de le fermer et je reçois le message d'avertissement classique d'Excel qui me dit : "le fichier que vous tentez d'ouvrir est déjà ouvert, si vous l'ouvrez à nouveau, vous allez perdre toutes vos données...."

Je pense donc que mon problème vient du fait que les liens se succédant à très grande vitesse, il n'arrivent pas gérer l'ouverture et la fermeture des fichiers Excel.

Aurais-tu une idée pour contourner ce problème stp ?

Merci
 

chris

XLDnaute Barbatruc
Re : Modifier les liaisons entre Excel et Power Point par code

Bonjour

Concernant les variables je voulais juste dire que oldlink et newlink étant différents selon tes liens, tu ne pouvais pas utiliser le même nom de variable sauf à faire tourner autant de fois que de oldlink.

Pour ralentir la cadence il faudrait essayer de placer avant les lignes
Code:
pptShape.LinkFormat.SourceFullName = newLink    'modify the link
pptShape.LinkFormat.Update                      'update the link
, voire entre les deux lignes, une boucle qui ne ferait rien mais temporiserait ou bien une ligne de type
Code:
Application.Wait (Now() + TimeValue("00:00:04"))
afin de ralentir la tentative l'ouverture/fermeture des Excel.

Mais dans mon cas ça tourne plus d'une heure alors rallonger ...
 

Alexes

XLDnaute Nouveau
Re : Modifier les liaisons entre Excel et Power Point par code

J'arrive un peu tard dans le fil de discussion mais je suis dans la même situation que toi et mon entreprise utilise un add-in avec des liens forts qui me permettent de dupliquer mes fichiers excel et powerpoint, mettre à jour les données sur excel et en un clic mettre à jour tous mes graphiques exportés sur powerpoint. Ca s'appelle UpSlide.
Bonne continuation.
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 471
Membres
103 553
dernier inscrit
jhnm