user_mobilelogo

C'est un problème classique : vous avez une présentation qui contient divers tableaux et graphiques liés avec un classeur Excel.

Or, vous avez soit modifié le nom ou même l'emplacement du classeur, soit vous souhaitez faire les liens vers un nouveau classeur qui a été mis à jour.

Si vous avez peu de tableaux, ou si cette gymnastique est exceptionnelle, il suffit d'afficher les liens et de les modifier : onglet Fichier, rubrique Informations => Modifier les liaisons vers les fichiers. Et vous utilisez le bouton Modifier la source, pour chaque lien.

Si cette gymnastique revient régulièrement (tous les mois par exemple parce que vous fournissez les données du mois passés), et/ou si vous en avez beaucoup, la macro suivante sera la bienvenue. Elle remplace dans les liens le nom complet de l'ancien fichier par le nouveau mais conserve les références aux cellules.

Sub liens()
Dim ancien_chemin As String
Dim nouveau_chemin As String

'Saisissez ici le chemin et le nom de l'ancien et du nouveau fichier
ancien_chemin = "C:\Documents\...\fichier1.xlsx"
nouveau_chemin = "C:\Documents\...\fichier2.xlsx"

For Each diapo In ActivePresentation.Slides
    For Each objet In diapo.Shapes
        If objet.Type = msoLinkedOLEObject Then
            If objet.OLEFormat.ProgID = "Excel.Sheet.12" Then
                With objet.LinkFormat
                .SourceFullName = Replace(LCase(objet.LinkFormat.SourceFullName), LCase(ancien_chemin), nouveau_chemin)
                .AutoUpdate = ppUpdateOptionAutomatic
                End With
            End If
        End If
    Next
Next
End Sub


Statistiques

Aujourd'hui1291
Hier1514
Cette semaine18828
Ce mois39544
Total depuis 200411615663

19
visiteurs actuellement en ligne

15 décembre 2019