[RESOLUTO]Lien vers fichier PDF via un clic

Ilino

XLDnaute Barbatruc
Bonsoir Forum
Ci-joint le fichier exemple, je souhaite créer un lien entre chaque ligne de ListText avec le fichier PDF qui le correspond( les fichier sont sauvegardés dans le même répertoire) c-a-d si je clic sur une ligne il m’affiche le fichier PDF
GRAZIE et B.W end
NB : sorry pour le fichier
Edit : toutes mes fichiers sont nommés selon la colonne M
 

Pièces jointes

  • Ilino-Moteur de recherche JOB41.xlsm
    28.6 KB · Affichages: 39
  • Ilino-Moteur de recherche JOB41.xlsm
    28.6 KB · Affichages: 46
  • Ilino-Moteur de recherche JOB41.xlsm
    28.6 KB · Affichages: 44
Dernière édition:

Ilino

XLDnaute Barbatruc
Re : Lien vers fichier PDF via un clic

Bonsoir Ilino, Jean-Marie,

- si ta base de données comporte 1000 noms en colonne M, tu créeras 1000 fichiers PDF ? :rolleyes:

- quand crées -tu ces fichiers et qu'est-ce que tu mets dedans ? Donne-nous un fichier exemple...

A+

GRAZIE MAITRE
SUPER C'EST NICKEL ;)
c'est des notes scanées qui sont nommé selon la colonne M
GRAZIE maintenant je peux aller faire DODOOOOOOOOOOOOOOOOO
A+ et Bon debut de semaine
 

Staple1600

XLDnaute Barbatruc
Re : Lien vers fichier PDF via un clic

Re, Bonsoir job75


Ilino
C'était pourtant simple de mixer les deux codes, non :confused::rolleyes:
Code:
Sub ouvrirpdfTer()
Set objShell = 
Nom = L13.Column(1)
objShell.Run ThisWorkbook.Path & "\" & Nom & ".pdf"
End Sub
PS1: Je n'ai pas testé puisque je ne peux pas ouvrir ton fichier pour le moment.
PS2: Job75 lui aussi utilise FollowHyperlink dans son code, info que je te donnais dès le message #2...le 18/10/2O14
Nous sommes le 20 octobre ...
Ilino: je me pose des questions: tu cherches à comprendre la syntaxe VBA ou tu ne fais que de simple copier/coller dans VBE sans chercher à comprendre la logique du code :confused:

Job
On ne peut pas éviter l'alerte à l'ouverture du fichier PDF
En passant par l'utilisation de CreateObject("WScript.Shell"), on évite le message d'alerte ;)
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Lien vers fichier PDF via un clic

Bonjour Ilino, Jean-Marie,

En passant par l'utilisation de CreateObject("WScript.Shell"), on évite le message d'alerte ;)

En effet, c'est donc nettement mieux :

Code:
Private Sub ListBox1_Click()
'La propriété BoundColumn de ListBox1 doit être à 5
Dim nomfich$
nomfich = ThisWorkbook.Path & "\" & ListBox1 & ".pdf"
If Dir(nomfich) = "" Then MsgBox "Fichier '" & nomfich & "' introuvable...": Exit Sub
CreateObject("WScript.Shell").Run nomfich
End Sub
Fichiers (2).

Bonne journée.
 

Pièces jointes

  • ListBox et fichiers PDF(2).zip
    59.2 KB · Affichages: 14
Dernière édition:

job75

XLDnaute Barbatruc
Re : Lien vers fichier PDF via un clic

Re,

Cette solution évite de passer par la propriété BoundColumn :

Code:
Private Sub ListBox1_Click()
Dim nomfich$
nomfich = ThisWorkbook.Path & "\" & ListBox1.List(ListBox1.ListIndex, 4) & ".pdf"
If Dir(nomfich) = "" Then MsgBox "Fichier '" & nomfich & "' introuvable...": Exit Sub
CreateObject("WScript.Shell").Run nomfich
End Sub
Fichiers (3).

A+
 

Pièces jointes

  • ListBox et fichiers PDF(3).zip
    59.5 KB · Affichages: 17

Ilino

XLDnaute Barbatruc
Re : Lien vers fichier PDF via un clic

Bonjour JM, MAITRE
Ci dessous le code que je l'ai addapté ( grazie Job)
VB:
 Private Sub UserForm_Initialize()
Dim d As Object, i&

With Feuil1 'CodeName de la feuille
  t = .Range("A2:AC" & .Range("A" & .Rows.Count).End(xlUp)(2).Row)
  .[C1,G1,J1,L1,M1,Q1,S1,N1,AC1].EntireColumn.AutoFit 'ajustement automatique
  ListBox1.ColumnWidths = .Columns(3).Width & ";" & .Columns(7).Width & ";" _
    & .Columns(10).Width & ";" & .Columns(12).Width & ";" _
    & .Columns(13).Width & ";" & .Columns(17).Width & ";" _
    & .Columns(19).Width & ";" & .Columns(14).Width & ";" & .Columns(29).Width
End With

Set d = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(t)
  If t(i, 2) <> "" Then d(t(i, 2)) = ""
Next
If d.Count Then ComboBox1.List = d.keys

End Sub

apres j'ai ajouté encore le code de notre MAITRE
VB:
 Private Sub ListBox1_Click()
'La propriété BoundColumn de ListBox1 doit être à 5
Dim nomfich$
nomfich = ThisWorkbook.Path & "\" & ListBox1 & ".pdf"
If Dir(nomfich) = "" Then MsgBox "Fichier '" & nomfich & "' introuvable...": Exit Sub
ThisWorkbook.FollowHyperlink nomfich
End Sub
Mais mon souci est au niveau de la nomination des fichiers PDF et le lien , quand je clic (doubl clic) il affiche le nom de fichier de la permiere colonne de ListBox ???? je souhaite qu'il affiche le nom de 8eme colonne de ListBox
sorry je sais que j'ai dépassé mes limites SORRY:(
GRAZIE
 

Ilino

XLDnaute Barbatruc
Re : Lien vers fichier PDF via un clic

Re
je pense que mon souci est résolu par ce code ( grazie MAITRE)


nomfich = ThisWorkbook.Path & "\" & ListBox1.List(ListBox1.ListIndex, 7) & ".pdf"

VB:
Private Sub ListBox1_Click()
Dim nomfich$
nomfich = ThisWorkbook.Path & "\" & ListBox1.List(ListBox1.ListIndex, 7) & ".pdf"
If Dir(nomfich) = "" Then MsgBox "Fichier '" & nomfich & "' introuvable...": Exit Sub
CreateObject("WScript.Shell").Run nomfich
End Sub
grazie
 

Ilino

XLDnaute Barbatruc
Re : Lien vers fichier PDF via un clic

re
sincèrement après plusieurs adaptation,:( je me suis trouvé ...... maintenant je suis bugué:(
quand je clic sur une ligne de ListBox j'ai ce message d'erreur:mad: :
Erreur d’exécution "-2147024894......." La méthode 'Run' de l'objet 'IWshell3' a échoué"
a ce niveau la :
CreateObject("WScript.Shell").Run nomfich
encore merci pour vos conseils
Grazie
 
Dernière édition:

Ilino

XLDnaute Barbatruc
Re : Lien vers fichier PDF via un clic

Re JM
Tu as raison j'ai oublié de changer "la propriété BoundColumn" = 8
avec le code
Code:
Private Sub ListBox1_Click()
'La propriété BoundColumn de ListBox1 doit être à 5
Dim nomfich$
nomfich = ThisWorkbook.Path & "\" & ListBox1 & ".pdf"
If Dir(nomfich) = "" Then MsgBox "Fichier '" & nomfich & "' introuvable...": Exit Sub
ThisWorkbook.FollowHyperlink nomfich
End Sub
grazie JM
 

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
312 503
Messages
2 089 055
Membres
104 013
dernier inscrit
VELONDAHY Mickaël