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
 

JNP

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

C'est possible JNP, mais pourquoi tu utilise plusieurs fois Dir pour la même chose, et pourquoi tu n'y cherche pas le nouveau nom possible du fichier pdf dans le dossier déjà correctement fourni par le lien hypertexte ?
Parce que j'ai construit le code petit à petit en utilisant des MsgBox pour vérifier les textes, et que je n'ai pas optimisé :(
Mais c'est bien le nom du nouveau fichier que je récupère :)
 

Dranreb

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

Ah oui. D'accord j'ignorais que "*.*" était apparemment assumé derrière un "\" finissant le paramètre d'un Dir.
Merci de me l'avoir apris. Encore que je crois que je préfèrerai continuer à le spécifier si ça n'oblige pas à le concaténer. D'autant que là il me semblait que ça devait se limiter à "*.pdf". N'a-t-il pas dit qu'il avait aussi d'autre fichiers d'archives sur ce répertoire, ou je mélange tout ?
 

DoudouNours

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

Les fichiers d'archivages sont dans un autre dossier effectivement. Je cherche seulement a faire en sorte que le lien ouvre le seul pdf dans le dossier que j'aurais désigné.

Mais je ne comprend pas ou je dois rentrer mes liens de dossiers ou fichiers.
 

DoudouNours

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

Mon lien excat pour acceder à la notice est:
\\SOMEGA\Article\Notices de montages\703701 CGM affuteur MHM55MX\703701_F CGM affuteur MH-M55-MX-Q50-iH5-iX6.pdf

notice à l'indice F

Dans VBA il y a :
//SOMEGA/Article/Notices de montages/

et dans ma cellule j'ai rentré:
\\SOMEGA\Article\Notices de montages\703701 CGM affuteur MHM55MX\703701_E CGM affuteur MH-M55-MX-Q50-iH5-iX6.pdf

A l'indice E car elle a pu changer entre temps.

Ou est-ce que je me plante ?
 

Dranreb

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

Ou est-ce que je me plante ?
Nulle part, tout baigne et l'adresse indiquée dans le lien hypertexte que vous avez ajouté à la cellule doit normalement se corriger, à l'ouverture de ce classeur, conformément au nouveau nom du fichier.
J'ai un doute quand même… Vous l'écrivez comme si c'était un contenu normal de cellule et non un lien hypertexte ?
Dans ce cas vous pourriez quand même le faire fonctionner presque comme un lien hypertexte, mais à l'aide d'une procédure Worksheet_BeforeRightClick ou Worksheet_BeforeDoubleClick en utilisant la méthode FollowHyperlink dedans. C'est même la solution qui aurait ma préférence personnellement. Je n'aime pas trop les liens hypertextes en fait. Trop d'échos relatant qu'ils ne fonctionnent plus du fait que le classeur a changé de place.
 
Dernière édition:

DoudouNours

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

Voila le fichier.

Comme il est actuellement le lien ne va pas chercher le pdf à l'indice F.

Mon lien hypertexte demande d'aller chercher le pdf indice E mais la formule ne corrige pas apparement.
Le pdf indice E est passé dans le dossier d'archive et le pdf indice F se trouve dans:

\\SOMEGA\Article\Notices de montages\703701 CGM affuteur MHM55MX\703701_F CGM affuteur MH-M55-MX-Q50-iH5-iX6.pdf
 

Pièces jointes

  • Lien vers pdf macroE2.xlsm
    10.5 KB · Affichages: 51

Dranreb

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

Dans le classeur joint, en tout cas, il manque la procédure Workbook_Open qu'on vous à dit de mettre dans ThisWorkbook pour corrigé les liens à l'ouverture du classeur.
 
Dernière édition:

Dranreb

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

Commencez par faire Alt+F11. Normalement ça vous ouvre l'éditeur VB
Et normalement aussi vous devez avoir l'explorateur de projets à gauche. Sinon: Ctrl+R l'affiche.
Vous y trouvez tous le projets VBA ouverts avec entre parenthèses les noms des fichiers Excel auxquels ils appartiennent.
Dedans vous avez un module spécial qui s'appelle ThisWorkbook. Cliquez deux fois sur ce nom, puis collez le code dans la grande fenêtre de code.
Bon courage.
 

DoudouNours

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

J'ai rentré ceci

Private Sub Workbook_Open()
Dim MonLien As Hyperlink
For Each MonLien In Sheets("Feuil1").Hyperlinks
If Dir("//SOMEGA/Article/Notices de montages/" & Left(MonLien.Address, InStrRev(MonLien.Address, "/"))) <> _
Right(MonLien.Address, Len(MonLien.Address) - InStrRev(MonLien.Address, "/")) Then
MonLien.Address = Dir("//SOMEGA/Article/Notices de montages/" & Left(MonLien.Address, InStrRev(MonLien.Address, "/")))
End If
Next MonLien
End Sub


Si mon code est bon il ne fonctionne pas encore.

Il remplace tous mes lien par le même lien ci dessous
706083_084%20Prepa%20Mototurbine%20iX%20Q25%2015kW%20-%20Raccourci.lnk

Même si ce n'est pas le bon lien, il ne s'ouvre quand même pas. Je suis un peu perdu.
 

Dranreb

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

Mettez après le For
VB:
Msgbox "MonLien.Address=""" & MonLien.Address & """," & vblf & "MonLien.SubAddress=""" & MonLien.SubAddress & """."
Stop
En raisonnant selon ce qui sera affiché, corrigez peut être en faveur de mes propositions, quitte à mettre aussi des MsgBox pour vérifier d'abord ce qu'elles essayent de faire…
 

DoudouNours

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

ok j'ai bien mis comme vous disiez il me semble.

Private Sub Workbook_Open()
Dim MonLien As Hyperlink
For Each MonLien In Sheets("Feuil1").Hyperlinks
MsgBox "MonLien.Address=""" & MonLien.Address & """," & vbLf & "MonLien.SubAddress=""" & MonLien.SubAddress & """."
Stop
If Dir("C:/Documents and Settings/Administrateur/Bureau/Liens vers PDF 2013/" & Left(MonLien.Address, InStrRev(MonLien.Address, "/"))) <> _
Right(MonLien.Address, Len(MonLien.Address) - InStrRev(MonLien.Address, "/")) Then
MonLien.Address = Dir("C:/Documents and Settings/Administrateur/Bureau/Liens vers PDF 2013/" & Left(MonLien.Address, InStrRev(MonLien.Address, "/")))
End If
Next MonLien
End Sub

Les liens ont changés car je suis chez moi.

Et cette fois-ci j'ai un message d'erreur à l'ouverture...c 'est bon signe, car il y a une réaction.

Message d'erreur :

Monlien.Adress="",
Monlien.SubAdress="",

Le VBA s'ouvre et le STOP est surligné en jaune avec la flèche avant.

Cela vous aide?
 

Discussions similaires

Réponses
2
Affichages
793

Statistiques des forums

Discussions
314 634
Messages
2 111 435
Membres
111 136
dernier inscrit
Ahmad Ibnou