Fonction RECHERCHEV dans un onglet dont le nom est une variable

Bonjour,

Je bute sur la syntaxe de la fonction VLOOKUP ci-dessous.

Merci pour votre aide.

     Set Table = ThisWorkbook.Worksheets("Marchés")
    Const Col As String = "A"
    Dim Table_DerLig As Integer

    Table.Select
    Table_DerLig = Cells(Rows.Count, Col).End(xlUp).Row

    Dim Formule As String
    Formule = "=VLOOKUP(RC," '& Table & '"!R2C1:R" & Table_DerLig & "C3,3,FALSE)"

    ActiveCell.FormulaR1C1 = Formule

Erreur 1004

Bonjour,

Sans fichier test ... la correction ne peut concerner que ta syntaxe ...( assez inhabituelle ...)

A toi d'adapter tout cela à ta logique ...

Sub TestFormule()
    Const Col As String = "A"
    Dim Table_DerLig As Integer
    Dim table As String, Formule As String

    table = Worksheets("Sheet1").Name
    Table_DerLig = Cells(Rows.Count, Col).End(xlUp).Row
    Formule = "=VLOOKUP(RC[-1]," & table & "!R[2]C[1]:R[" & Table_DerLig & "]C[3],3,FALSE)"
    ActiveCell.FormulaR1C1 = Formule
End Sub

En espèrant que cela t'aide

Bonjour James007,

Mon problème est bien un problème de syntaxe.

Ta proposition, qui consiste à passer de coordonnées absolues en relatives, ne fonctionne pas plus (sauf que l'erreur d'exécution passe de 1004 à 438 !)

Merci quand même.

A tout hasard, je renvoie quand même mon bout de code (qui par erreur était incomplet au premier envoi).

Dim Onglet As Worksheet
    Set Onglet = ThisWorkbook.Worksheets("CAHT")

    Dim Table As Worksheet
    Set Table = ThisWorkbook.Worksheets("Marchés")
    Const Col As String = "A"
    Dim Table_DerLig As Integer
    Table.Select
    Table_DerLig = Cells(Rows.Count, Col).End(xlUp).Row

    Dim Formule As String
    Formule = "=VLOOKUP(RC," '& Table & '"!R2C1:R" & Table_DerLig & "C3,3,FALSE)"

    Onglet.Select
    ActiveCell.FormulaR1C1 = Formule

Re,

Le code que tu viens de poster est presque aussi incomplet que le précédent ...

Je te conseille de joindre ton fichier test ...

James007,

Mon fichier est trop lourd (statistiques commerciales sur 10 ans !)

Ca n'est que la syntaxe de la formule qui me bloque.

Merci malgré tout.

Bonne soirée.

De rien ...

Bonjour,

Après plusieurs dizaines de tentatives avec des syntaxes différentes, tout fonctionne à merveille avec la formule suivante :

Formule = "=VLOOKUP(RC[-1]," & Table.Name & "!R2C1:R" & Table_DerLig & "C3,3,FALSE)"

Donc avec la syntaxe " & Table.Name &" et non avec la syntaxe " & Table &", plus naturelle au départ.

Ouf.

Rechercher des sujets similaires à "fonction recherchev onglet nom variable"