comparer les plages et remplir les valeurs dans la macro VBA

J'essaie d'écrire une macro pour comparer deux gammes, Rng1 et Rng2 dans Excel. Rng1, ("f2: f15"), contient des nombres cibles qui sont utilisés. Rng2, ("a2: a91"), contient les nombres pour toutes les cibles possibles. Les trois colonnes à droite de Rng2 ("b2: b91"), ("c2: c91") et ("d2: d91") contiennent les valeurs de coordonnées x, y et z associées à chaque numéro cible. Ce que j'aimerais que cette macro fasse est de remplir les 3 colonnes à droite de Rng1 ("g2: g15"), ("h2: h15") et ("i2: i15") avec les valeurs de coordonnées de la Numéro cible trouvé dans Rng1. Le code suivant que j'ai écrit est la returnnement "Erreur d'exécution" 13 ', tapez non correspondance ".

Sub macro() Dim Rng1 As Range, Rng2 As Range, Cell1 As Range, Cell2 As Range Set Rng1 = Range("f2:f15") Set Rng2 = Range("a2:a91") For i = 1 To Rng1 For j = 1 To Rng2 For Each Cell1 In Rng1(i) For Each Cell2 In Rng1(j) If Cell1.Value = Cell2.Value Then 'cell1.Offset(0, 1) = cell2.Offset(0, 1) 'cell1.Offset(0, 1) = cell2.Offset(0, 1) 'cell1.Offset(0, 1) = cell2.Offset(0, 1) Cells(2 + i, 7) = Cells(2 + j, 2) Cells(2 + i, 8) = Cells(2 + j, 3) Cells(2 + i, 9) = Cells(2 + j, 4) End If Next Cell2 Next Cell1 Next j Next i End Sub 

Merci!

Selon votre description, je pense que c'est ce que vous voulez

 Sub Demo() Dim Rng1 As Range, Rng2 As Range, Cell1 As Range Dim i As Variant Set Rng1 = Range("f2:f15") Set Rng2 = Range("a2:a91") ' Loop over the cells you want to add data for For Each Cell1 In Rng1 ' locate current value in range 2 i = Application.Match(Cell1.Value, Rng2, 0) If Not IsError(i) Then ' if found copy offset data Cell1.Offset(0, 1) = Rng2.Cells(i, 2) Cell1.Offset(0, 2) = Rng2.Cells(i, 3) Cell1.Offset(0, 3) = Rng2.Cells(i, 4) End If Next End Sub