Chercher valeur dans une matrice_selection plage pour ligne et variable pour colonne

puliexcel

XLDnaute Nouveau
Salut

J'ai un tableau excel avec 90 colonnes et 4000 lignes. C'est la "feuil2"

Dans une autre feuille ("feuil1"), j'ai une partie des valeurs du tableau précédent. J'ai quelque dizaine de valeurs qui correspondent à la première colonne du tableau précédent.

donc dans la feuil 2 il y a 90 colonne et 4000 lignes. dans le feuil 1 j'ai 20 ligne de la colonne A.

j'ai ce code



Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant

' Set CompareRange equal to the range to which you will
' compare the selection.
'Set CompareRange = Range("A1:A5")
' NOTE: If the compare range is located on another workbook
' or worksheet, use the following syntax.
' Set CompareRange = Workbooks("Book2"). _
' Worksheets("Sheet2").Range("A1:A5")

Set CompareRange = Worksheets("Feuil2").Range("A1:A6005")

' Loop through each cell in the selection and compare it to
' each cell in CompareRange.

For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 3) = y.Offset(0, 1)
Next y
Next x
End Sub




ce code me permet de sélectionner la liste de cellule de la feuille 1, qui correspond a une vingtaine de ligne de la colonne A, et il me permet de trouver ces valeurs dans la colonne A du grand tableau et d'afficher la valeurs à coté, la valeur de la colonne B de chaque valeur de la colonne A trouvé.

donc si j'ai Chien dans ma sélection, il va trouver Chien dans la colonne A du grand tableau et il va m'afficher la valeur qui est à coté de chien.

PAR CONTRE mon problème est le suivant:

je ne veux pas qu'il m'affiche la valeur à coté, celle de la colonne B, ma la valeur d'une colonne différente, mais de la même ligne. Donc mettons, la valeur de la colonne 81. Évidement je peux le faire a priori, si j'écris ( If x = y Then x.Offset(0, 3) = y.Offset(0, 81) ) dans ce cas il décale de 81 fois et il va me trouver la valeur que je désire.

mais comme ceci je vais devoir créer de macro différent chaque fois que je veux une valeur d'une colonne différents.

il n'est pas possible de établir avant la recherche, avec une userform, ou je ne sais pas quoi, la colonne que je cherche? donc de sélectionner la plage de cellule et aussi la valeur (y.Offset(0, ?) que je veux?

en pièce joiinte une simplification de mon tableau
merci de vos aide
 

Pièces jointes

  • 3test recherche valeur matrice.xlsx
    10.4 KB · Affichages: 72

Discussions similaires

Réponses
2
Affichages
147

Statistiques des forums

Discussions
312 196
Messages
2 086 095
Membres
103 116
dernier inscrit
kutobi87