RechercheV dans un fichier different à chaque fois

Bonjour à tous,

Je voulais savoir si c'était possible de faire une rechercheV dans plusieurs fichiers ? C'est à dire que dans la colone A, on recherche V dans le fichier ayant le nom en A1 et en colone B on recherche V dans le fichier ayant le nom en B2.

Voila ce que j'ai fais mais il manque le petit declic :

=RECHERCHEV(A40;'C:\Users\TOTO\Desktop\heures\global\[18042014.xls]18042014'!$A$4:$F$52;4;FAUX)

C'est possible ? Et si oui comment ?

Merci d'avance

Julien

Comme ça si j'ai bien compris :

=RECHERCHEV(A40;"'C:\Users\TOTO\Desktop\heures\global\[" & A1 & ".xls]" & A1 & "'!$A$4:$F$52";4;FAUX)

Ça doit être cela mais cela ne marche pas !! Il m'affiche #VALEUR!

Suite à quelques recherches, tu ne peux pas faire de references indirectes...

Solution:

Tu actives la reference DAO

Tu copies colles cette fonction dans un module

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

Puis sur ta feuille

=XRECHERCHEV(A40;"'C:\Users\TOTO\Desktop\heures\global\[" & A1 & ".xls]_"& A1 & "'!$A$4:$F$52";4)

J'ai la meme erreur de valeur

ça marche chez moi.

Qu'est ce qui pourrais différencier ?

JE ne sais pas envoi tes deux fichiers.

Voici des fichiers que j'ai fais sur le coté ! Ce n'est pas les fichiers rééls car ils y a des noms d'entreprises

20test.xlsm (22.32 Ko)
1418042014.xlsx (8.53 Ko)
Rechercher des sujets similaires à "recherchev fichier different chaque fois"