Probleme de lien hypertexte macro

Fermé
Signaler
Messages postés
104
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
21 septembre 2018
-
Messages postés
7612
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
-
Bonjour à tous,

Je viens vers vous afin de savoir si quelqu'un connait la solution à mon problème…

Je cherche, lors de l'exécution de la validation du devis, que mon code génère un lien hypertexte pour le fichier excel et pdf. Colonne I et J dans "liste devis" .


Le but est de pouvoir revenir sur un devis enregistré dans la banque de donnée, afin de le modifier si nécessaire.

Actuellement que je clique sur le lien, j'ai: impossible d'ouvrir le fichier…

Merci d'avance.
Cris

https://cjoint.com/c/HItop7Y5FD2

1 réponse

Messages postés
7612
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
672
Bonjour,

comme ceci:

Option Explicit
Private Sub CommandButton1_Click()
Application.DisplayAlerts = False
'enregistrement classeur
 ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\monclasseur.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
         'lien hypertexte classeur
         Range("I1").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=ThisWorkbook.Path & "\monclasseur.xlsx", _
        TextToDisplay:="monclasseur.xlsx"
    'enregistrement PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ThisWorkbook.Path & "\monpdf.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
        'lien hypertexte PDF
        Range("J1").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=ThisWorkbook.Path & "\monpdf.pdf", _
        TextToDisplay:="monpdf.pdf"
Application.DisplayAlerts = True
MsgBox "Réussie"
End Sub


Le chemin des fichiers est pour des fichiers dans le même dossier que le classeur lançant la macro.

A adapter si necessaire

Messages postés
104
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
21 septembre 2018

Bonjour Le Pivert, Le Forum,

Je n'arrive pas à adapter ton code, cela ne veut pas dire qu'il ne fonctionne pas…

Du coup j'essaye de faire fonctionner le mien, voici où j'en suis:

'Lien hypertexte excel et PDF

Sheets("Liste Devis").Range("I" & ligne).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"D:\Cris\Excel\Projet Jean Re\Devis\", TextToDisplay:= _
Sheets("Liste Devis").Cells(4, 12) & " " & Sheets("DEVIS").Cells(13, 9)

Sheets("Liste Devis").Range("J" & ligne).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"D:\Cris\Excel\Projet Jean Re\Devis\ .pdf", TextToDisplay:= _
Sheets("Liste Devis").Cells(4, 12) & " " & Sheets("DEVIS").Cells(13, 9)



Le seul problème:

- En cliquant sur hypertext créé du excel, j'attérie dans le dossier où se trouve mon fichier. Alors que j'aimerais OUVRIR ce fichier automatiquement.


-Pour le Pdf, j'ai la même erreur qu'avant, "impossible d'ouvrir le fichier spécifié"

Merci d'avance pour vos réponses.

Cordialement,
Cris
Messages postés
7612
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
672
Je n'arrive pas à adapter ton code

c'est pourtant simple il suffisait de faire un copier coller et de changer le chemin de ton dossier comme ceci:

ThisWorkbook.Path


par
"D:\Cris\Excel\Projet Jean Re\Devis\"


C'est normal que cela ne fonctionne pas, tu n'as pas mis le nom du fichier avec son extension

"D:\Cris\Excel\Projet Jean Re\Devis\"


et là il y a simplement que l'extension sans le nom du fichier:

"D:\Cris\Excel\Projet Jean Re\Devis\ .pdf"


regarde ce que j'ai fait ici:

Address:=ThisWorkbook.Path & "\monclasseur.xlsx"


et là:

 Address:=ThisWorkbook.Path & "\monpdf.pdf"


ThisWorkbook.Path est le chemin du dossier dans lequel se trouve ton classeur. Ceci est très pratique car tu peux changer de place ton dossier ou de pc cela fonctionnera toujours. C'est à privilégier à un chemin en dur qu'il faudra adapter.

@+