Index equiv onglets

Résolu
Bonjour,

je cherche à inclure cette formule dans mon code vba

M5 =

=INDEX(A!$C$5:$M$300;EQUIV('feuil2'!$B5;A!$C$5:$C$300;0);EQUIV('feuil2'!M$4;A!$C$5:$M$5;0))
=INDEX(B!$C$5:$M$300;EQUIV('feuil2'!$B5;B!$C$5:$C$300;0);EQUIV('feuil2'!M$4;B!$C$5:$M$5;0))
=INDEX(C!$C$5:$M$300;EQUIV('feuil2'!$B5;C!$C$5:$C$300;0);EQUIV('feuil2'!M$4;C!$C$5:$M$5;0))

Pour info A B C sont des onglets crées, l'objectif est d'allez chercher dans chaque onglets et tout mettre au niveau de feuil2.

Merci,
Bon début de semaine,

2 réponses

  1. Contributeur
    Bonjour

    M5 a 3 valeurs ???... en attendant M5 M6 M7

    non testé: pas de classeur en PJ réponse en VBA
    Option Explicit
    Dim Var_lig As Integer, Var_col As Integer
    Sub xxx()
    Dim Cptr As Byte, Onglet As String, Cellule As String

    With Sheets("feuil2")
    Var_lig = .Range("B5")
    Var_col = .Range("M4")
    For Cptr = 1 To 3
    Onglet = Choose(Cptr, "A", "B", "C")
    Cellule = Choose(Cptr, "M5", "M6", "M7")
    Chercher Onglet, Cellule
    Next
    .Activate
    End With
    End Sub

    Sub Chercher(feuil, adresse)
    Dim Lig As Integer, Col As Integer, Rep
    With Sheets(feuil)
    Lig = .Columns("C").Find(Var_lig, .Range("C4"), xlValues).Row
    Col = .Rows(5).Find(Var_col, .Range("B5"), xlValues).Column
    Rep = .Cells(Lig, Col)
    Sheets("feuil2").Range(adresse) = Rep
    End Sub


    au brsoin
    Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
    et coller le raccourci par un clic droit sur le lien proposé dans le message de réponse

    Dans l’attente

     Michel
    1. Bonjour,
      Peut-être :
      Sub x()
      Worksheets("Feuil2").Range("M5").FormulaLocal = _
       "=INDEX(A!$C$5:$M$300;EQUIV('feuil2'!$B5;A!$C$5:$C$300;0);" & _
       "EQUIV('feuil2'!M$4;A!$C$5:$M$5;0))"
      End Sub
      


      1. Ou encore :
        Sub x()
        With Worksheets("Feuil2").Range("M5")
          .FormulaLocal = "=INDEX(A!$C$5:$M$300;" & _
            "EQUIV('feuil2'!$B5;A!$C$5:$C$300;0);" & _
            "EQUIV('feuil2'!M$4;A!$C$5:$M$5;0))"
          .Value = .Value
        End With
        End Sub