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