• Initiateur de la discussion Initiateur de la discussion Pylt
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Pylt

XLDnaute Nouveau
Salutations à tous,
J'ai un problème avec Vlookup en VBA, travaillant sur des tableaux dans excel.
Ma ligne de code est la suivante:

Im = Application.WorksheetFunction.VLookup(HP,table, offset)

Les variables sont définies comme suit pour le moment: Im as variant, HP as variant, table as range, et offset as variant.

J'obtiens un message d'erreur 1004, et le débogueur m'amène sur la ligne instruction ci-dessus.

Si je corrige l'instruction pour la suivante:

Im = Application.VLookup(HP, _ table, offset)

j'obtiens un autre message d'erreur en mode pas à pas: Im renvoie Im=2042

Je sais que mon instruction est correcte, puisque je l'ai essayé dans excel, mais il semble y avoir incompatibilité entre mes types de données et VBA. (Toutes mes données sont des chiffres).
Quelqu'un a-t-il une idée?
 
Bonjour Pytt, le Forum

Oui je reconnais ce problème, j'avais testé différents trucs, avec une conversion en texte avec un simple quote devant mes valeurs numériques... Que l'on peut faire par VBA avec un simple Loop.

Mais bon finalement, tant qu'a faire un Loop je suis resté dessus pour ma recherche sans modifier mes valeurs numériques sur ma feuille... et donc en abandonnant mon VloopUp.

Une bizarerie du VloopUp piloté par VBA, d'ailleurs seule ta premimre Syntax est correcte.

Bonne journée et semaine
[ol]@+Thierry[/ol]
 
Thierry semble être dans le vrai. J'ai fait les deux modifications suivantes et ça fonctionne:

J'ai mis des quotes (') devant toutes les valeurs de la première colonne sur la table à partir de laquelle se fait la recherche, afin de les reconnaître comme du texte;

j'ai mis des quotes (') devant toutes les valeurs servant à la liste déroulante à partir de laquelle Vlookup reçoit une variable (variable HP dans ma ligne d'instruction) pour la valeur à rechercher, afin que cette valeur soit identique à celles de la table de recherche.

De cette façon, il y a correspondance entre la valeur recherchée et la colonne de recherche.

Merci à tous, je continue à progresser...tchou tchouuuu
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
2 K
Réponses
2
Affichages
998
Réponses
6
Affichages
1 K
Réponses
2
Affichages
620
Retour