Souci avec le vlookup

annyong Messages postés 38 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 février 2015 - 25 juil. 2011 à 13:45
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 26 juil. 2011 à 07:39
Bonjour,

Je fais un vlookup en VBA, et je voudrais retourner une valeur telle que dans l'exemple ci-dessous :

MaValeur= Nb * (Application.VLookup(Sheets("oranges").Range("A" & Id), Sheets("citrons").Range("A:Y"), 25, 0))

la variable Nb peut prendre differentes valeurs; le vlookup va retourner 1 et je veux que MaValeur égale 3 si Nb =3 par exemple.

Tel que c'est écrit, ca passe, je n'ai pas de message d'erreur, mais je n'ai pas 3 dans MaValeur. Ca veut dire que VBA n'interprète pas ça comme MaValeur = 3 * 1, si le résultat du vlookup est 1.

Il doit y avoir une autre façon d'écrire ça pour avoir le résultat souhaité dans MaValeur, mais je ne sais pas comment.

Savez vous ?

Merci!
A voir également:

6 réponses

annyong Messages postés 38 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 février 2015
25 juil. 2011 à 13:48
j'ai peut-être pas été assez précis : le vlookup peut retourner soit rien du tout, soit un entier (1,2,3...)
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
25 juil. 2011 à 22:06
Bonjour,

"Tel que c'est écrit, ca passe, je n'ai pas de message d'erreur, mais je n'ai pas 3 dans MaValeur. Ca veut dire que VBA n'interprète pas ça comme MaValeur = 3 * 1, si le résultat du vlookup est 1. "

Tu as quelle valeur ?

As-tu contrôlé la valeur retournée par VLookup ?

Mon site
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 juil. 2011 à 07:13
Bonjour,
Quel que puisse être le contenu de Vlookup (y compris le plus inattendu et le plus incohérents, éventeuellement) Nb * cette_valeur ne saurait en aucun cas retourner 1 systématiquement !
Je ne peux alors qu'en conclure (sur la base de ce que tu nous dis) Mavaleur a &t& initialisée à 1, puis que :
- soit ton code ne passe pas par la ligne que tu nous as montrée,
- soit tu as utilisé une gestion d'erreur (genre On Error Resume Next) mal conçue ! (je penche plus pour cette hypothèse).


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 juil. 2011 à 07:22
Ouais !
Après re-lecture et re-re-lecture :
C'est certain : Tu as géré l'erreur et très probablement avec un "On Error Resume Next".
Tu fais une recherche sur deux feuilles à la fois ?



____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 juil. 2011 à 07:37
Parmi les erreurs possibles :
- mauvaise orthographe de la feuille oranges
- mauvaise orthographe de la feuille citrons
- id = 0 (ou pas un numérique)
etc...
Passe en mode debug et vérifie tous ces points.


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 juil. 2011 à 07:39
ou encore (autre cause d'ereur) id est bien un numérique entier, mais la valeur recherchée Sheets("oranges").Range("A" & Id) est ""


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
Rejoignez-nous