Index equiv onglets

Résolu/Fermé
xmma1995 - 18 avril 2016 à 10:06
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 18 avril 2016 à 11:20
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

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 18/04/2016 à 11:13
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
18 avril 2016 à 11:16
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
18 avril 2016 à 11:20
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