Index-EQUIV-Recherchv en VBA

Bonjour à toutes et à tous,

SVP j'ai besoin de votre aide.

J'ai 2 feuilles nommées respectivement "Feuil1" et "Feuil2".

Dans la feuille 1 se trouve ceci :

feuille 1

Dans la feuille 2 se trouve ceci :

feuille 2

Tableau des tests :

tests

Si la direction est A on applique le test 1 A.
Si la direction est B on applique le test 1 B.

Si on a 1 seul ID (Comme les cas ID3 / ID4 / ID6) on est dans le cas Test 2.

l'objectif est de récupérer les informations (info 1 2 ..) de la feuille 1 dans la feuille 2 horizontalement en fonction de l'identifiant et des tests en utilisant VBA.

Donc en gros, je dois faire le lien entre la feuille 1 et 2 (en passant de 1 à 2).

J'aimerais que vous m'aidiez à réaliser le VBA pour cette partie, car je travaille sur projet et je suis débutant en VBA.

Remarque : On peut le faire facilement sans VBA, mais ce POST n'est qu'un exemple et une petite partie de ce que je veux vraiment.

Veuillez trouver ci-joint le fichier excel.
Je vous remercier par avance.

13exemple.xlsx (15.17 Ko)

Bonjour,

Essaie :

Sub test()
  Dim C As Range, X As Range, Sh As Worksheet, Col As Long
  Set Sh = Sheets("Feuil2")
  With Sheets("Feuil1")
    For Each C In .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
      For Each X In Sh.[A3:A9]
        If X = C And C.Offset(, 1) = X.Offset(, 1) Then
          Col = Application.Match(C.Offset(, 2).Value, Sh.[A2:I2], 0)
          C.Offset(, 3) = Sh.Cells(X.Row, Col)
        End If

      Next X
    Next C
  End With
End Sub

Daniel

Bonjour Daniel,

Merci beaucoup pour votre retour sur le sujet.

En fait, j'ai créé un bouton de commande sur la feuille 1, j'ai mis le code et ensuite j'ai exécuté le code, toutes les informations de la ligne D de la feuille 1 sont perdues et ne sont pas récupérées sur la feuille 2.

Bonjour,

Oups, désolé, j'ai fait le contraire de ce que tu voulais. Je corrige dès que possible.

Daniel

Essaie :

Sub test1()
  Dim C As Range, Tabl As Variant
  With Sheets("Feuil1")
    Tabl = .[A2:D19]
  End With
  With Sheets("Feuil2")
    For Each C In .[C3:I9]
      For i = 1 To 18
        If .Cells(C.Row, 1) = Tabl(i, 1) And .Cells(C.Row, 2) = Tabl(i, 2) And _
          .Cells(2, C.Column) = Tabl(i, 3) Then
          C = Tabl(i, 4)
        End If
      Next i
    Next C
  End With
End Sub

Daniel

Rechercher des sujets similaires à "index equiv recherchv vba"