RechercheV dans macro avec case variable

Fermé
Danette - 7 oct. 2015 à 15:39
 Danette - 8 oct. 2015 à 14:27
Bonjour,

J'ai un soucis lors que je veux intégrer une focntion dans ma macro.
J'aimerais faire une recherchev dans une case variable.
Voici ce que j'ai commencé à écrire.
For i = 2 To 5000
        Cells(y + 1, 8) = "=Vlookup(" & Cells(y + 1, 3) & ";Base_de_donnees!K1:L29;2;FALSE)"
y = y + 1
Next


Je n'ai encore jamais intégré de formule dans une macro, donc je ne sais pas trop si c'est comme cela qu'il faut que je l'écrive.
En gros ma recherchev est la suivante :
- dans la colonne C de la même ligne
- cherche cette même valeur dans la matrice de l'onglet "Base_de_donnees
- inscrire la valeur correspondante de la 2ème colonne de la matrice

Merci d'avance pour votre aide.
A voir également:

2 réponses

Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
Modifié par Kuartz le 7/10/2015 à 16:26
Bonjour,

Je l'aurais écris comme ça :

Cells(y + 1, 8).Value = Application.WorksheetFunction.Vlookup(Cells(y + 1, 3), Sheets(Base_de_donnees).Range(K1;L29), 2, False)


Cordialement.
0
Ca ne fonctionne pas dans ma macro :(
Pour information, dans ton écriture vba n'accepte pas ";" quand on selectionne la plage de données avec range. Du coup, il faudrait remplacer "range(K1;L29)", par"range(K1,L29)".

En tout cas, lorsque je lance ma macro, tout fonctionne bien jusqu'à cette ligne. VBA me dit qu'il y a un bug et me la surligne en jaune.
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149 > Danette
8 oct. 2015 à 10:29
Essaie en mettant des guillemets et un double point (Range("K1:L29"))
0
J'ai modifié, mais ce n'est pas plus efficace malheureusement. :(
0