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