Recherche dans fichier fermé

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

Je souhaiterais renvoyer les valeurs d'une colonne (par recherche d'une valeur variable) d'un onglet(variable) dans un fichier fermé (avec un nom variable).
En pratique j'ai utilisé la fonction :
XRECHERCHEV(FL$3;"'C:\Users\Desktop\Skills\Investis\[" & A9 & "]Langues'!$B:$C";2;VRAI)

J'obtiens # Valeur!

Avec la macro suivante (en activant la fonction DAO):
Option Explicit

Public Function XRECHERCHEV(ByVal valRecherchee As Variant, _
ByVal TabMatrice As Variant, _
ByVal colonneIndex As Integer)


If TypeName(TabMatrice) = "Range" Then
XRECHERCHEV = Application.WorksheetFunction.VLookup(valRecherchee, _
TabMatrice, _
colonneIndex, _
True)
Else
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sRange As String
Dim sSheet As String
Dim sWbook As String
Dim sFPath As String
Dim sSQL As String

sRange = Replace(Split(TabMatrice, "!")(1), "$", vbNullString)
sSheet = Split(Split(TabMatrice, "]")(1), "'")(0)
sWbook = Split(Split(TabMatrice, "[")(1), "]")(0)
sFPath = Mid(Split(TabMatrice, "[")(0), 2)

valRecherchee = "'" & Replace(valRecherchee, "'", "''") & "'"

sSQL = "SELECT [F" & colonneIndex & "] " & _
"FROM [" & sSheet & "$" & sRange & "] " & _
"WHERE [F1] = " & valRecherchee


Set db = DAO.OpenDatabase(sFPath & sWbook, False, False, "Excel 8.0;HDR=NO;")
Set rs = db.OpenRecordset(sSQL, DAO.dbOpenSnapshot)

If rs.EOF And rs.BOF Then
XRECHERCHEV = "no match"
Else
XRECHERCHEV = rs.Fields(0)
End If
Set rs = Nothing
Set db = Nothing
End If

End Function

Quelqu'un a une idée sur l'étape manquée ou l'erreur réalisée.

Merci par avance de votre retour rapide, je dois agréger 500 fichiers pour la fin de semaine et manuellement je vais mettre une éternité

Configuration: Windows / Chrome 79.0.3945.79
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Pouvez mettre votre fichier a dispo sans donnees confidentielles!!!!
0