Recherche dans fichier fermé

Fermé
Yannov0704 Messages postés 1 Date d'inscription mercredi 18 décembre 2019 Statut Membre Dernière intervention 18 décembre 2019 - 18 déc. 2019 à 09:40
f894009 Messages postés 17241 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 février 2025 - 19 déc. 2019 à 11:38
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

1 réponse

f894009 Messages postés 17241 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 février 2025 1 713
19 déc. 2019 à 11:38
Bonjour,

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