Bonjour le forum,
J'ai récupéré un bout de code pour pouvoir modifier le nom du fichier en lien avec powerpoint.
Je souhaiterais pouvoir faire le "Replace" par messageBox pour que chaque utilisateurs puisse faire la modification sans rentrer dans VBA.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub ChgLiaisonOle() Dim Slde As Slide, Shpe As Shape, lNucar As Long, sNewFile As String, sFichierOLE As String, sNewOLE As String For Each Slde In ActivePresentation.Slides For Each Shpe In Slde.Shapes If Shpe.Type = msoLinkedOLEObject Then sFichierOLE = Mid(Shpe.LinkFormat.SourceFullName, InStrRev(Shpe.LinkFormat.SourceFullName, "\")) sNewOLE = Replace(sFichierOLE, "FichierA", "Fichier1") 'pour le remplacement sNewFile = ActivePresentation.Path & sNewOLE Shpe.LinkFormat.SourceFullName = sNewFile End If Next Shpe Next Slde MsgBox sNewFile End Sub
Ce que je souhaite au final :
Je renomme mon "FichierA" en "Fichier1" (donc je perds le lien vers pptx). [Il existe aussi un fichierB, fichierC...qu'il faudra aussi renommer fichier2, fichier3...]
Je lance une macro qui m'ouvre un messageBox avec : "De quel fichier voulez-vous modifier le lien ?" (la réponse dans ce cas sera "FichierA" ou "FichierB"...) / "Comment voulez-vous renommer votre lien" (Là on saisie "Fichier1" ou "Fichier2"...).
En validant par OK, la macro remplace tous les liens s'apellant "FichierA" par "Fichier1"...
Je précise que ne suis pas programmeur (vous vous en doutez !) mais que à force de lire des bouts de codes j'arrive (plus ou moins) à adapter (des fois...).
Mais je ne sais pas faire de messageBox avec question/réponse...Et surtout, je ne sais pas si dans ce cas-là il faut mieux la macro sur Excel ou sur Pptx ???
Dans le cas du code ci-dessus, c'est sur pptx, mais est-ce la meilleur solution ?
Merci à vous de prendre le temps de me lire.
Cordialement,
Gilles
Partager