Concaténation sous RechercheV

Bonjour à tous et toutes,

j'exécute une recherche vertical que voici

=RECHERCHEV(C3;'C:\Users\Rufian\Documents\Année\[An2013.xls]Services'!$A$2:$K$140;10)

je souhaiterai pouvoir incrémenter automatiquement l'année en cours (An2013.xls), la concaténation apparemment ne fonctionne pas sous cette fonction , j'ai tenté ceci : =RECHERCHEV(C3;'C:\Users\Rufian\Documents\Année\[An & ANNEE(AUJOURDDUI()( & .xls]Services'!$A$2:$K$140;10)

Une aide bienvenue, je vous en remercie d'avance

j'en profite pour vous souhaiter une bonne et belle année 2014

Rufian

=RECHERCHEV(C3;"'C:\Users\Rufian\Documents\Année\[An" & ANNEE(AUJOURDDUI()( & ".xls"]Services'!$A$2:$K$140;10)

merci EngueEngue,

malheureusement pour moi cela ne fonctionne pas erreur #N/A

c'est la concaténation entre crochet qui pose problème mais ne sait comment faire cela...

merci de ton aide

rufian

=RECHERCHEV(C3;"'C:\Users\Rufian\Documents\Année\[An" & ANNEE(AUJOURDhUI()) & ".xls"]Services'!$A$2:$K$140;10)

Si tu écris bien tes fonctions peut être que ça marchera mieux

EngueEngue a écrit :

=RECHERCHEV(C3;"'C:\Users\Rufian\Documents\Année\[An" & ANNEE(AUJOURDhUI()) & ".xls"]Services'!$A$2:$K$140;10)

Si tu écris bien tes fonctions peut être que ça marchera mieux

bonjour EngueEngue,

Autant pour moi la grosse bourde sur "AUJOURHUI" cela dit, elle est recopiée/collée et ca ne marche pas mieux

message : La formule que vous avez tapéé contient une erreur visiblement sur : ".xls"]Services'!

Si tu passes dans le coin et que je peux encore profiter de ton expérience

Rufian

autant pour moi... je viens de tester... l'indirect ne marche pas sur classeur fermé...

Tu actives la référence DAO

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 ta formule:

=XRECHERCHEV(C3;"'C:Users\Rufian\Documents\Année\[An" & A1 & "]_Services'!$A$2:$K$140";10)

hello,

bien vu et joli travail

rufian

Rechercher des sujets similaires à "concatenation recherchev"