Vlookup avec une valeur cherchée variable

Bonjour,

Dans la cadre de mon travail, je cherche à obtenir les informations de la colonne "E" / feuille 3 pour les copier sur la feuille 2 / colonne "O".

   Dim fz As Variant
   Dim derniligne As Integer
   Dim PLAGE As Range
   Dim Y As Integer

   Sheets(2).Select
derniligne = Range("A" & Rows.Count).End(xlUp).Row + 1

'
'
Set PLAGE = Sheets(3).Range("A:E")

For Y = 2 To derniligne

' ici j'ai ma valeur recherchée

 cell = Sheets(2).Cells(Y, 1)

 Sheets(2).Select

' ça plante à ce moment la 

  fz = Application.WorksheetFunction.VLookup(cell, PLAGE, 5, 0)

      If IsError(r) Then

                Cells(Y, 14) = ""
        Else
               Cells(Y, 14) = fz

            End If

    Next Y

End Sub

Voici ma bribe de code, problème, celui-ci ne fonctionne pas !

J'obtiens le message d'erreur : " unable to get the vlookup property of the worksheetfunction class"

Je pense que cela est du à ma ligne "Y" variable dans le code. Est ce que mon projet est réalisable ?

Merci d'avance,

Bonjour,

si tu veux obtenir le message d'erreur ou la réponse dans ta variable fz, utilise cette syntaxe

fz = Application.VLookup(cell, PLAGE, 5, 0)
if iserror(fz) ...

H2so4,

Incroyable cela fonctionne, c'était tout bete !

Qu'est ce qui n'allait pas dans la ligne de code "fz = Application.WorksheetFunction.VLookup(cell, PLAGE, 5, 0)" ?

Par contre je n'obtiens aucune valeur dans la colonne "O" alors que certaines sont en feuille 3/ colonne "E"

Il me met soit des :

#N/A

soit rien

J'ai réussi, il suffisait de mettre la colonne" A" de la valeur cherchée feuille 2 en "text".

Voila ce que cela donne :

Sheets(2).[A:A].Select
With Selection
.NumberFormat = "Text"

re-bonjour,

Qu'est ce qui n'allait pas dans la ligne de code "fz = Application.WorksheetFunction.VLookup(cell, PLAGE, 5, 0)" ?

les 2 manières d'écrire sont correctes, mais le comportement en cas d'erreur est différent.

Avec worksheetfunction, cela génère une erreur qui provoque l'arrêt de la macro et rentre en mode degug (à moins d'avoir activé la gestion d'erreur avec on error ...)

Sans worksheetfunction, l'erreur est copiée dans la variable et la variable reçoit un statut erreur qui peut être testé dans la suite de la macro, la macro continue à s'exécuter.

Merci pour ton aide :)

Rechercher des sujets similaires à "vlookup valeur cherchee variable"