[VBA]Utilisation de LOOKUP [Résolu]

Messages postés
6
Date d'inscription
samedi 21 avril 2012
Statut
Membre
Dernière intervention
4 mai 2012
- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 22 avril 2012 à 11:58
Bonjour,

Je débute en VBA pour Excel 2010.
Pourriez-vous me guider sur l'utilisation de la fonction Lookup, équivalent de Recherche?

En fait, il fonctionne si j'écris :
Range("B" & Ligne) = "=LOOKUP(H8 ,code_planning,code_horaires)"

mais il se bloque quand je remplace H8 par une ligne générale, càd :

Range("B" & Ligne) = "=LOOKUP("H" & Ligne ,code_planning,code_horaires)"

Le message d'erreur est Erreur de compilation :Erreur de syntaxe, et il clignote sur le "H".

Merci d'avance pour votre aide
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
6
Date d'inscription
samedi 21 avril 2012
Statut
Membre
Dernière intervention
4 mai 2012
3
Merci
Merci ucfoutu, et désolée pour la section, je saurai où je dois discuter la prochaine fois.

En tout cas, j'ai fini par trouver l'erreur de syntaxe. Cette fois-ci, c'est OK



Range("B" & Ligne) = "=lookup(H" & Ligne & ", code_planning, code_horaires)"

Thanks !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 135 internautes nous ont dit merci ce mois-ci

Commenter la réponse de inirina
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
Bonjour,
Déjà :
1) tu ne développes dont pas sous :
Forum > VB.NET et VB 2005

(la présente section), mais sous VBA !
Ta discussion aurait donc du être ouverte dans la section Langages dérivés > VBA (qui n'a rien à voir avec VB.Net)
Notre-le pour tes prochaines discussions (important)
2) ouvre ton aide en ligne (aide VBA) sur ces deux mots :
Formula
FormulaLocal
Et lis ...




________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
Je te précise ceci ;
Une formule est une chaîne de caractères (rien d'autre)
Si cette chaine marche (tu le dis) :
= LOOKUP(H8 ,code_planning,code_horaires)
et que tu veux remplacer H8 par ... disons la variable x contenant "N9"
Ton seul problème est de savoir écrire, par concaténation une chaine contenant
= LOOKUP(N9 ,code_planning,code_horaires)
en y insérant x au lieu de N9
Comme tu le vois, c'est un problème basique de concaténation incluant une variable, qu'il s'agisse ou non de VLOOKUP
Rien d'autre qu'un problème basique .
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
En d'autres termes (vlookup ou autre), tu dois avoir une chaîne cohérente et elle ne l'est pas.
La preuve :
ligne = 8
msgbox "=LOOKUP("H" & Ligne ,code_planning,code_horaires)"

te donnerait une erreyur, forcément !
et la même que si u écrivais n'importe quoi d'autre à la place de VLOOKUP, pardi !*
Allez ===>> je VEUX te voir réfléchir et réagir. Tu as en main l'essentiel, maintenant !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
Bien, mais j'aurais préféré que tu écrives :
Range("B" & Ligne).formula = "=lookup(H" & Ligne & ", code_planning, code_horaires)" 


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu