triage recherche pdf

spectre64

XLDnaute Nouveau
Bonjour, voila j'essaye d'adapter cette macro. Pour le moment elle ouvre les fichiers excel mais j'aimerais qu'elle ouvre les fichiers pdf;
je n'y arrive pas ,
merci pour votre soutien et votre aide précieuse.


Ps:???
En gros il faut lui indiquer ou attraper acrobat, mais je n'arrive pas:
Sub ShellOuvrir
Shell """C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe""
End Sub
 

Pièces jointes

  • test.xls
    37 KB · Affichages: 65
  • test.xls
    37 KB · Affichages: 65
  • test.xls
    37 KB · Affichages: 71

tototiti2008

XLDnaute Barbatruc
Re : triage recherche pdf

Bonjour spectre,

Dans le code de la feuille :

Code:
Private Sub CommandButton1_Click()
    Dim Num_Article As String
    'demande le numéro d'article
    Num_Article = Application.InputBox(prompt:="Entrez le numéro d'article")
    If Num_Article > "" Then
        'sélectionne une cellule hors de la zone de recherche
        [B1].Select
        'si error sur la recherche continue suivant
        On Error Resume Next
        Columns("A:A").Find(What:=Num_Article, After:=[A1], LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Select
        On Error GoTo 0
        'si recherche ok colonne passée à 1
        If ActiveCell.Column = 1 Then
            'teste l'existence du fichier avant de l'ouvrir en récupérant le nom complet dans la cellule à droite de la cellule active
            If Not (Dir$(ActiveCell.Offset(0, 1).Value, vbDirectory) = "") Then
                If LCase(ActiveCell.Offset(0, 1).Value) Like "*.xls" Then
                    Workbooks.Open Filename:=ActiveCell.Offset(0, 1).Value
                Else
                    Call ShellExec(ActiveCell.Offset(0, 1).Value)
                End If
            Else
                MsgBox "Fichier article non trouvé"
            End If
        Else
            MsgBox "Référence non trouvée"
        End If
    End If
End Sub


Sub ShellExec(strFile As String)
    Dim strAction As String
    Dim lngErr As Long

    ' Edit this:
    'strFile = "c:\somefile.txt"  ' the file you want to open/etc.
    strAction = "OPEN"  ' action might be OPEN, NEW or other, depending on what you need to do

    lngErr = ShellExecute(0, strAction, strFile, "", "", 0)

    ' optionally, add code to test lngErr

End Sub
Dans le code d'un module standard

Code:
Public 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
Normalement ça devrait ouvrir tous les types de fichiers associés à une application

Edit : Bonjour Michel ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 181
Membres
103 152
dernier inscrit
Karibu