Vlookup avec mise en variable de la plage.

  • Initiateur de la discussion Initiateur de la discussion clotaire
  • 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 !

C

clotaire

Guest
Bonjour,

Je procède à une recherche V (sur un autre onglet de mon classeur) dans une plage qui peut évoluer en fonction des données qui j'y mets.

Ma question est de savoir si il est possible de mettre sous forme de variable le critère "plage" de la fonction Vlookup.

une fois cela réglé, j'aurais aussi besoin de connaitre la meilleure façon de récupérer le "bornage" de mon tableau(qui peut évoluer) afin de mettre le range en variable.

set ma_plage = range(A1:Sx) avec x la derniere ligne de mon tableau.

ce qui me permettrai d'ecrire alors :
VLookup( value, Ma_plage, index_number, not_exact_match )


Merci de votre aide.
 
Re : Vlookup avec mise en variable de la plage.

Salut clotaire,
voici une proposition.

J'ai mis des infos dans la plage A1 à B8 pour l'exemple. La valeur de référence en C1 et la formule en D1. À toi d'adapter à ton besoin.

VB:
Sub Test()

Dim PremiereLigne As Integer, DerniereLigne As Integer, PremiereColonne As Integer
Dim DerniereColonne As Integer, Numero_Colonne As Integer
Dim Plage As String
Dim Valeur_Recherche As Variant

Application.ScreenUpdating = False

'Set les paramètres de ta matrice de recheche
PremiereLigne = 1
DerniereLigne = Cells(65536, 1).End(xlUp).Row
PremiereColonne = 1
DerniereColonne = 2

'Détermine la valeur que tu vas vouloir rechercher
Valeur_Recherche = Cells(1, 3).Value 'Ici, il s'agit de C1. À toi de déterminer où se trouve ton critère.
Plage = Range(Cells(PremiereLigne, PremiereColonne), Cells(DerniereLigne, DerniereColonne)).Address 'Set la plage de recherche
Numero_Colonne = 2 'Détermine dans quelle colonne tu veux la réponse

'Inscrit la formule en fonction des paramètres énoncés plus haut
'Dans cet exemple, la formule s'écrira en D1. À toi de changer l'emplacement
Cells(1, 4).Formula = "=VLOOKUP(" & Valeur_Recherche & "," & Plage & "," & Numero_Colonne & ",FALSE)"

End Sub

Cordialement,

Étienne
 
Re : Vlookup avec mise en variable de la plage.

Salut clotaire et le forum
Que des généralités, donc, réponses en généralités
Je procède à une recherche V
Si c'est en formule, ok. Si c'est en VBA, pourquoi utiliser des instructions de feuille de calcul, et pas des instructions VBA ? Range("A1:Sx").find()
j'aurais aussi besoin de connaitre la meilleure façon de récupérer le "bornage" de mon tableau(qui peut évoluer) afin de mettre le range en variable.
C'est comme combien de temps pour refroidir le fût du canon : ça dépend !
On ne sait rien sur l'organisation de ton tableau, sa position dans la feuille, les valeurs recherchées...
Tu peux utiliser une boucle pour rechercher la dernière ligne de chaque colonne, et prendre le numéro de ligne le plus grand. Utiliser Usedrange, ou Range("A1").SpecialCells(xlCellTypeLastCell).Row
À toi de trouver celle qui convient le mieux suivant tes données.
A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
449
W
Retour