EVALUATE et VLOOKUP dans Userform

Bonjour et merci d'avance pour votre contribution !

J'ai dans un userform un champ TB5 que lorsque j'en sors cherche la valeur correspondante et l'inclut dans le champs suivant TB6

Private Sub TB5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TB6 = [VLookup(TB5,SECTEURS!B2:C10000, 2, False)
End Sub

Mais j'ai un message d'erreur d'execution '-2147352571 (80020005)'

impossible de définir la propriété Value. Le type ne correspond pas.

Quelqu'un aurait-il une idée ?

J'ai essayé aussi avec la fonction évaluate

TB6 = Evaluate("=VLookup(TB5,SECTEURS!B2:C10000, 2, False)")

Cà ne marche pas !

Merci

Bonjour,

Tu utilises des fonctions Excel en VBA. Consulte la syntaxe à utiliser dans ce cas ! Il y a une Aide pour ça.

Merci

J'ai déjà regardé et je n'ai rien trouvé.

Si quelqu'un a une autre idée.

Chree74

C'est un peu surprenant ! Il te suffit de taper VLookUp que tu utilises pour tomber immédiatement sur WorksheetFunction.VLookUp, lequel va t'indiquer la syntaxe pour la fonction, et le renvoi sur WorksheetFunction t'éclairerait sur la syntaxe générale d'utilisation des fonctions de feuilles de calcul Excel en VBA.

Avec Evaluate, tu as plus de choix et ça paraît un peu indécis. Il vaut mieux choisir Application.Evaluate (bien que les articles soient quasiment les mêmes). L'article est assez bien fourni, mais je t'accorde que ce n'est pas évident à assimiler... mais bon ! comme tout le monde tu fais des essais...

Cordialement.

Je regarde ce matin un lien.

Ce n'est pas la première fois que j'utilise la fonction vlookup et evaluate qui fonctionne par ailleurs.

À suivre

Private Sub TB5_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Dim Lookup_Range As Range

Set Lookup_Range = Sheets("SECTEURS").Range("B2:C10000")
TB6 = Application.WorksheetFunction.VLookup(TB5, Lookup_Range, 2, False)

End Sub

et çà fonctionne ! merci d'avoir insisté pour que je cherche mieux !

Bonne journée

Tu vois ! Bonne journée.

Rechercher des sujets similaires à "evaluate vlookup userform"