Recherche

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

France 67,7% France
Chine 7,9% Chine
États-Unis d'Amérique 4,9% États-Unis d'Amérique

Total:

178

Pays
018534075
Aujourd'hui: 256
Hier: 442
Cette semaine: 1.102
Semaine dernière: 2.977
Ce mois: 3.019