Vlookup avec une variable pour 1er argument

bonjour à tous

pour un projet professionnel, je dois trouver un code VBA qui me permet d'ouvrir un fichier de copier coller un fichier excel vers un autre dossier (ce point ci est résolu), puis à l'aide de la fonction Vlookup rechercher une donnée définie par une variable

voici le début de code :

Sub recherchervaleur()

Dim objMonClasseur As Workbook

Dim objPlageRecherche As Range

Dim valeuro As String

Dim nlot As String

Dim rngLook As Range: Set rngLook = ws.Range("A:M")

'copie fichier original tableau de bord

FichierOriginal = "H:\DOC\Tableaux de bord activite controle\Tableau de bord 2021.xlsm"

FichierCopie = "H:\Fichiers Techniciens\Fichiers Tech\YG\CQ\Tableau de bord 2021.xlsm"

FileCopy FichierOriginal, FichierCopie

'ouivrir la copie

Set objMonClasseur = Workbooks.Open("H:\Fichiers Techniciens\Fichiers Tech\YG\CQ\classeur2.xlsx", , True)

'demande le numéro de lot

nlot = InputBox("Saisir le numéro de lot", "extraction")

MsgBox nlot

'extraction de valeur

valeuro = wsfunction.VLookup(nlot, Workbook("classeur2.xlsx").Sheets("Feuil1").Range("A:F"), 5, 0)

MsgBox valeuro

End Sub

tout fonctionne jusqu'à la définition de la variable "nlot" avec l'imputbox, ensuite impossible de rechercher cette valeur avec vlookup.... si quelqu'un pouvait m'éclairer svp

Bonjour Deadpiou et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Pour votre problématique, d'où sortez-vous ce "wsfunction" !?

Merci de votre participation

Cordialement

Bonjour Bruno,

toute d'abord j'ai en effet lu la chartre du forum et j'espère ne rien avoir fais de mal dans la précipitions

j'ai trouvé cette fonction sur un autre forum, étant novice en VBA j'ai déjà cherché à droite et à gauche quelques solutions ( sans solutions )

Re,

Alors, c'est soit

valeuro = Application.WorksheetFunction.VLookup(nlot, Workbook("classeur2.xlsx").Sheets("Feuil1").Range("A:F"), 5, 0)

ou directement

valeuro = Application.VLookup(nlot, Workbook("classeur2.xlsx").Sheets("Feuil1").Range("A:F"), 5, 0)

Ou sinon, il faut définir l'objet WsFunction

  Dim WsFunction As Object
  Set WsFunction = Application.WorksheetFunction

Essaye

et bien merci beaucoup, la deuxième manière est vraiment plus pratique.

Rebonjour

j'ai testé le code sur un autre ordinateur en faisant bien attention à modifier tous les chemin d'accès et a présent une erreur 13 s affiche lorsque le code essaye de lancer la recherche avec vlookup.....c'est comme si la variable nlot nétait plus reconnu... aurais tu une piste?

Rechercher des sujets similaires à "vlookup variable 1er argument"