Lien hypertexte vers PDF qui changent de nom

DoudouNours

XLDnaute Junior
Bonjour,

J'aurai voulu savoir s'il était possible de conserver un lien hypertexte vers un PDF qui change de nom ou plutôt juste la fin du nom. (son indice)
Exemple:

J'ai plusieurs dossiers sur un serveur dans lesquels on y trouve un seul pdf par dossier. Par contre j'ai quand même des dossiers d'archivages dans chacun.

Actuellement j'ai créé un tableau excel avec les liens hypertexte vers les dossiers plutôt que les PDF car ils changent de nom.(d'indice)
Ex : Article822 indA.pdf peut devenir Article822 indB.pdf et le indA.pdf passe alors dan le dossier d'archivage.

J'aimerai pouvoir accéder directement aux pdf même s'ils changent d'indice car ils ont pleins de pages (env 300 pages chacun) et je voudrais au final les renvoyer vers une page précise rien qu'en cliquant sur mon lien.

Est-ce possible ?
-peut-être en demandant d'aller chercher le seul pdf dans dans tel dossier.
-en visant le pdf sur les premiers caractères (sans compter la fin au changement d'indice)
-le pdf vers la page précice existe t-il réellement ?

Je vous remercie d'avance pour votre aide.

David
 

Dranreb

XLDnaute Barbatruc
Re : Lien hypertexte vers PDF qui changent de nom

Je préfère ne pas l'ouvrir: Les contrôles dans les feuilles sont mal implantés par le convertisseur que je suis obligé d'utiliser pour convertir les .xlsm en .xls, de sorte que des contrôles images seraient un peu en partie des Shapes, et que je ne saurais pas si c'en sont. En bref si ce sont des contrôles Image (système moderne des contrôles de VBA), leurs noms figure dans la liste de gauche qui surmonte la fenêtre de code dans le module de la feuille et ils admettent en général un évènement _Click. Si ce sont des Shapes (vieux système des objets dessinés d'Excel, mais qui a toujours ses avantages) vous pouvez leur affecter une macro d'un module ordinaire par un clic droit dessus.
 

Dranreb

XLDnaute Barbatruc
Re : Lien hypertexte vers PDF qui changent de nom

Si quand je fais un clic droit dessus j'ai un un menu qui me permet d'y affecter une macro, c'est un Shape.
Si son nom figure dans la liste de gauche qui surmonte la fenêtre de code dans le module de la feuille c'est un contrôle Image.
 

Dranreb

XLDnaute Barbatruc
Re : Lien hypertexte vers PDF qui changent de nom

Bon, ben il y a bien "Affecter une macro", non ?
Il faudra supprimer le lien hypertexte. On pourrait à la rigueur les rectifier à l'ouverture du fichier, car c'est une propriété Hyperlink du Shape, mais je ne vois pas comment on pourrait intercepter la demande de suivi du lien pour aller en plus à la bonne page.
Mais j'ai vu qu'un Shape possède une propriété AlternativeText dans laquelle ou pourrait très bien ranger le chemin du pdf et la page séparés par un "|".
Il faudrait que la macro puisse fonctionner en mode saisie des infos ou en mode atteindre le fichier.
Par exemple à l'aide d'une variable Public ModifierCibles As Boolean qui serait positionnée au moyen d'un bouton dans la feuille.
On pourrait aussi basculer vers le mode saisie quand une étape du suivi se passe mal. C'est le "Quoi faire ?" qu'il vous appartient de bien définir avec précision, le "Comment faire ?" de chaque détail ne semble poser aucun problème, il y a bien moins d'incertitude qu'à propos du SendKeys qui garantirait un fonctionnement sûr sur tous les postes.
 
Dernière édition:

DoudouNours

XLDnaute Junior
Re : Lien hypertexte vers PDF qui changent de nom

Ha oui, je ne vois même plus ce qu'il y a d'écrit....Désolé.

Si vous dites que ce ne serait pas possible d'affecter ce lien vers page précise directement à l'image, je pourrais peut-être dans ce cas, y superposer un shape (exemple : un rectangle transparent si je peux) par dessus l'image et du coup insérer une formule.

Si vous pensez que c'est possible, je veux bien un dernier coup de main..
 

Dranreb

XLDnaute Barbatruc
Re : Lien hypertexte vers PDF qui changent de nom

Abandonnez l'idée du lien, c'est plus simple. Affectez seulement une macro aux images.
En voici un brouillon à perfectionner, qui n'a que le mérite de montrer comment on fait chaque chose (comment on récupère le Shape, comment on sélectionne un dossier, et comment on finit par agir comme un lien hypextexte) :
VB:
Sub AtteindrePdf()
Dim Sh As Shape, Spl() As String, Dossier As String, NomFic As String, _
   FD As FileDialog, Page As Integer, NAT As String
Set Sh = ActiveSheet.Shapes(Application.Caller)
On Error Resume Next
Spl = Split(Sh.AlternativeText, "|")
Dossier = Spl(0): Page = Spl(1)
NomFic = Dir(Dossier & "\*.pdf")
On Error GoTo 0
If Dossier = "" Or NomFic = "" Or ModifierCibles Then
   Set FD = Application.FileDialog(msoFileDialogFolderPicker)
   If Dossier <> "" Then FD.InitialFileName = Dossier
   FD.Title = "Choix du dossier contenant le PDF"
   FD.Show
   On Error Resume Next: Dossier = FD.SelectedItems(1)
   NomFic = Dir(Dossier & "\*.pdf"): End If
If Page = 0 Or ModifierCibles Then
   If Page = 0 Then Page = 1
   Page = InputBox("Page ?", "Atteindre Pdf", Page): End If
NAT = Dossier & "|" & Page: If Sh.AlternativeText <> NAT Then Sh.AlternativeText = NAT
ThisWorkbook.FollowHyperlink Dossier & "\" & NomFic
If Page = 1 Then Exit Sub
Application.Wait Now + 1 / 86400 ' 1 jour / 86400 = 1 seconde
SendKeys "{DOWN " & Page - 1 & "}"
End Sub
 

Dranreb

XLDnaute Barbatruc
Re : Lien hypertexte vers PDF qui changent de nom

Affecter cette macro à toutes les images (il yen à bien un tas en vrai ?) et supprimer les liens.
Et ensuite perfectionner cette macro pour qu'elle soit facile d'utilisation, comme par exemple veiller à ce que le nouveau dossier choisi contienne bien un *.pdf et sinon repartir à la sélection d'un dossier etc. Divisez en Sub indépendantes plutôt que d'écrire plusieurs fois la même chose. Prenez vous un peu en main, moi je vous ai fourni les briques de base.
 

DoudouNours

XLDnaute Junior
Re : Lien hypertexte vers PDF qui changent de nom

Ok je vois très bien ok. Je défini un emplacement et ensuite une page et cela se garde en memoire quelquepart.

Je me pose une question forcement, une fois ces fontions attribuées, pouvons nous revenir en arrière et changer de page par exemple ? Il faut réafecter la macro surement.
 

Dranreb

XLDnaute Barbatruc
Re : Lien hypertexte vers PDF qui changent de nom

Je vous l'ai dit: déclarez en tête du module:
VB:
Public ModifierCibles As Boolean
Et débrouiller vous pour exécuter quelque part (Private Sub CommandButton1_Click() dans une feuille par exemple) :
VB:
ModifierCibles = Not ModifierCibles
pour faire basculer le mode de fonctionnement de la macro entre les modes modification des cibles ou simple suivi.
 

Discussions similaires

Réponses
2
Affichages
793

Statistiques des forums

Discussions
314 633
Messages
2 111 416
Membres
111 126
dernier inscrit
vitam