Index equiv onglets

Résolu
xmma1995 -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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
    


    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      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
      0