Ouvrir un fichier depuis VBA

vero88360 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais savoir comment je pourrais faire pour ouvrir un fichier pdf via VBA. Le souci c'est que je ne trouve pas de tutoriel pour m'expliquer de A à Z le cheminement. Je ne suis vraiment pas douée sur VBA, mais j'aurais vraiment besoin de ce genre de chose, qui m'aiderait beaucoup dans mon travail.

Merci de m'aiguiller où de me donner des sites pour m'aider dans ma recherche.

Cordialement

Véronique

4 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,
C'est pour EXCEL ou ACCESS?
0
vero88360 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
C'est pour EXCEL.

Merci
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,
Le fichier PDF sera toujours le meme? Le code VBA sera lance comment? Est-ce qu'un lien hypertexte ne suffirait pas?
0
vero88360 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Le fichier ne sera pas toujours le même.
Ce que je souhaiterais c'est quand je clique sur une case où j'aurai noté dedans "pdf pour moi" j'arrive automatiquement sur le pdf en question et je n'aurais plus qu'a l'imprimer.

Le lien hypertexte ne suffit pas car dans la case c'est le lien qui est noté et je souhaiterais que se soit la description du fichier pdf écrit par mes soins.

Merci
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
RE,
Les .PDF seront dans le meme repertoire. Ce que vous appelez :
"la description du fichier pdf écrit par mes soins", c'est le nom du fichier ex:toto.pdf!
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
RE
Je vous donne un exemple de code

Ouvrez le volet Visual Basic

Dans un module copiez le code suivant:

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Declare Function ShellExecuteForExplore Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, lpParameters As Any, lpDirectory As Any, ByVal nShowCmd As Long) As Long

Double cliquez sur la feuille ou vous allez saisir le fichier et copiez le code suivant et adaptez le

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Nom_Fichier
Dim Chemin_Fichier
Dim hwndSim

'le texte de la ligne de la cellule sélectionnée s'affiche en rouge
If Flag_Click Then
Flag_Click = False
Exit Sub
End If
'Nom cellule a changer, ici A4
If Not Application.Intersect(Target, Range("A4")) Is Nothing Then 'la macro est valable pour la plage A4

If Target.Count > 1 Then Exit Sub 'si plus d'une cellule sélectionnée, la macro s'arrete

Chemin_Fichier = "D:\Docs\Test\shell_\"
Nom_Fichier = Cells(Target.Row, Target.Column)

'Ligne de Code ci-dessous recuperee sur le site Code-source ou developpez.com !!!
'Permet de lancer un fichier sans donner le chemin du .EXE
hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_Fichier & Nom_Fichier, 0, 0, 1)

End If
End Sub

Essayez et rendez-compte

Bonne suite
0
vero88360 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour votre réponse j'essayerai rapidement pour vous dire.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
RE

'le texte de la ligne de la cellule sélectionnée s'affiche en rouge
If Flag_Click Then
Flag_Click = False
Exit Sub
End If

Ces lignes sont a enlever,elles ne servent pas dans ce qui vous interesse.

Bonne suite
0
vero88360
 
Bonjour,

Je viens d'essayé (car je n'ai pas toujours le temps je dois le faire quand j'ai un peu de temps au boulot) j'ai rentré :
Dans module 1 :

Sub test1()
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Declare Function ShellExecuteForExplore Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, lpParameters As Any, lpDirectory As Any, ByVal nShowCmd As Long) As Long

End Sub

et ensuite dans la feuil1 :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Nom_Fichier
Dim Chemin_Fichier
Dim hwndSim

'Nom cellule a changer, ici A4
If Not Application.Intersect(Target, Range("A4")) Is Nothing Then 'la macro est valable pour la plage A4

If Target.Count > 1 Then Exit Sub 'si plus d'une cellule sélectionnée, la macro s'arrete

Chemin_Fichier = "\\serveur\Travail\BE\DOC TECHNIQUE\VITRAGE\Swisspacer.pdf"
Nom_Fichier = Cells(Target.Row, Target.Column)

'Ligne de Code ci-dessous recuperee sur le site Code-source ou developpez.com !!!
'Permet de lancer un fichier sans donner le chemin du .EXE
hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_Fichier & Nom_Fichier, 0, 0, 1)

End If
End Sub

Quand je démarre la macro j'ai une erreur qui me dit :

Erreur de compilation: seul des commentaires peuvent apparaitre après End Sub,End Function ou End Property


Pourriez-vous m'aider ? c'est surement pas bien compliquer sauf que je suis très mauvaise donc ... :(

Merci
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour et bonnes fetes a vous,
Un exemple que vous pourrez recuperer par le lien ci-dessous. Ce sera plus simple

https://www.cjoint.com/?ALCpPfrfZsW

Bonne suite
0