Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/08/2011, 17h34   #1
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
Par défaut Mise à jours de lien vers fichiers Excel

Bonjour,

J'ai dans un powerpoint (216 diapos) une quantité conséquente de liens visant des fichiers xlsx. Or mon client veut que les fichiers Excel soit au format xls. J'ai donc enregistré les fichiers xlsx au format xls (jusqu'ici tout va bien....) or ceci à pour effet que les liens ne marchent plus vu que l'extension à changé.

Je voulais savoir si il existait un moyen où peut être une macro permettant de de mettre à jour les liaisons ( l'emplacement et le nom des fichiers reste le même seul les extensions changent) sans devoir tout se repalucher l'écriture des liens un par un. Sachant que mes liens contiennent à l'affichage des diapo un texte spécifique et nom le chemin donc pas possible de faire un simple remplacer.

Merci beaucoup pour vos futures réponses
miron_fds est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 04h44   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 619
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 619
Points : 30 959
Points : 30 959
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Voici un bout de code à tester (sur une copie bien sûr par sécurité).

Code :
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
Public Sub ModifierExtensionExcel()
    '---------------------------------------------------------------------------------------
    ' Procedure      : ModifierExtensionExcel
    ' Auteur         : Philippe JOCHMANS - http://starec.developpez.com
    ' Date           : 04/08/2011
    ' Commentaires   : Modification des extensions de fichiers Excel liés
    '---------------------------------------------------------------------------------------
 
    ' déclaration
 
    Dim objPres As Presentation
    Dim objSld As Slide
    Dim objShp As Shape
    Dim strAncien As String
    Dim strNouveau As String
 
    ' affectation
 
    Set objPres = ActivePresentation
 
    ' parcourt des diapositives de la présentation
    For Each objSld In objPres.Slides
        ' parcourt des formes des diapositives
        For Each objShp In objSld.Shapes
            ' on test si c'est un objet lié
            If objShp.Type = msoLinkedOLEObject Then
                strAncien = objShp.LinkFormat.SourceFullName
                strNouveau = Replace(strAncien, ".xlsx", ".xls")
                objShp.LinkFormat.SourceFullName = strNouveau
            End If
        Next objShp
    Next objSld
 
End Sub
Colle le dans un module de l'éditeur VB, positionne ton curseur à l'intérieur et appui sur F5.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 09h59   #3
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
Merci beaucoup pour ta réponse malheureusement il ne se passe rien quand je lance la macro. Les liens restent toujours en .xlsx ...
miron_fds est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 18h36   #4
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 619
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 619
Points : 30 959
Points : 30 959
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Je viens de faire le test, et cela fonctionne, je t'explique ce que j'ai fait :

Sur un de mes PC j'ai Office 2002 et 2007 qui cohabitent.

J'ai pris deux fichiers xls, et je les ais enregistrés en .xlsx, j'ai fait une petite transformation de couleur pour voir la différence.

J'insère mes deux fichiers xlsx attention, en cochant la case liaison.

J'ai copié le code ci-dessus dans un module, le curseur à l'intérieur du code et clique sur la touche F5 (cela peut-être long en fonction du nombre de slides).

J'enregistre le PPT, je le ferme et l'ouvre à nouveau, il me demande de mettre à jour les liaisons et se sont les fichiers en xls qui apparaissent (je vois la différence à cause de la couleur).

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 10h39   #5
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
Merci beaucoup Philippe cela marche très bien !! J'avais fait une erreur .
miron_fds est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h33.


 
 
 
 
Partenaires

Hébergement Web