Recherche dans un tableau et affichage de valeur
Bonjour a tous!
Je viens vers vous car je bloque sur un problème.
enfait, je possède 2 tableau comportant 2401 ligne et un 3eme sur une autre feuille n'en comportant que 800+ et je doit effectuer une recherche des valeurs du 3eme tableau(qui se trouve en feuille 2), dans le premier tableau (en feuille 1) et si il trouve une correspondance , afficher le résultat du 2eme tableau (en feuille 1) qui se trouve sur la ligne ou il a trouver la correspondance dans le 1er tableau.
je suis pas sur que ce soit très très clair , je met une feuille exemple en PJ qui sera bien plus représentative
j'ai déjà essayer avec un RECHERCHEV mais le souci c'est qu'il s’arrête a la ligne 808 et qu'il recherche pas dans tout.
Merci d'avance pour votre aide, je reste a disposition si il y a besoin de plus de détails ou d'une explication plus clair.
Salut Dimifox,
quelque chose comme ça?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
iRow = Range("A" & Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("A2:A" & iRow)) Is Nothing Then
sData = Target
With Feuil1
iCol = .Cells(2, 1).End(xlToRight).Column
iFlag = 0
For x = 1 To iCol
iRow = .Cells(Rows.Count, x).End(xlUp).Row
For y = 1 To iRow
If .Cells(y, x) = sData Then
iCol1 = .Cells(y, Columns.Count).End(xlToLeft).Column
Range("B" & Target.Row).Resize(1, iCol1).Value = .Range("AT" & y).Resize(1, iCol1).Value
iFlag = 1
Exit For
End If
Next
If iFlag = 1 Then Exit For
Next
End With
End If
'
End Sub
Tu cliques en Feuil2 sur l'item à rechercher...
A+
curulis57 a écrit :Salut Dimifox,
quelque chose comme ça?
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' iRow = Range("A" & Rows.Count).End(xlUp).Row If Not Intersect(Target, Range("A2:A" & iRow)) Is Nothing Then sData = Target With Feuil1 iCol = .Cells(2, 1).End(xlToRight).Column iFlag = 0 For x = 1 To iCol iRow = .Cells(Rows.Count, x).End(xlUp).Row For y = 1 To iRow If .Cells(y, x) = sData Then iCol1 = .Cells(y, Columns.Count).End(xlToLeft).Column Range("B" & Target.Row).Resize(1, iCol1).Value = .Range("AT" & y).Resize(1, iCol1).Value iFlag = 1 Exit For End If Next If iFlag = 1 Then Exit For Next End With End If ' End Sub
Tu cliques en Feuil2 sur l'item à rechercher...
A+
J'arrive pas a le faire marcher donc je sais pas
gmb a écrit :Bonjour à tous
Une variante.
Bye !
Salut! c'est exactement ce dont j'avait besoin, merci beaucoup
Je vous souhaite une excellente journée!