Private 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)
Const SW_SHOWNORMAL = 1
Sub aa()
Dim myPDF
'---
myPDF = Application.GetOpenFilename("Fichiers PDF (*.pdf), *.pdf")
If myPDF = False Then Exit Sub
ShellExecute Application.hwnd, vbNullString, myPDF, vbNullString, vbNullString, SW_SHOWNORMAL
End Sub