Hello Tous,
J'ai ce tableau
À la sélection d'une référence, le tableau se compète via des formules qui vont aller chercher les data correspondant à la ref sélectionnée dans une base de données selon la formule suivante =INDEX(INDIRECT("Tableau1["&B14&"]");EQUIV(Choix_Ref_1;Tableau1[Reference];0);0). Cette formule est étendue de C14 à C28.
Cette base de données est stockée dans un tableau (Tableau1) et est organisée en colonne, la première étant la ref et les suivantes intitulées comme les cellules du tableau ci-dessus dans la colonne B, d'ou l'usage du INDIRECT("Tableau1["&B14&"]"pour identifier la colonne ou chercher l'information à reporter.
J'aimerais pouvoir gérer cela via le code vba et non via des formules. J'ai essayé via l'enregistreur de macro, mais celui-ci me génère un code qui va inscrire dans la case la formule.
Sub Macro1()
'
' Macro1 Macro
'
'
ActiveCell.FormulaR1C1 = _
"=INDEX(INDIRECT(""Tableau1[""&RC[-1]&""]""),MATCH(Choix_Ref_1,Tableau1[Reference],0),0)"
Range("C15").Select
End Sub
Je pense que le code devrait être du style suivant, mais je bloque sur la formalisation de l'index/equiv .
Sub macro()
Dim Rg As Range
Set Rg = Sheets("Home").Range("DataRef1")
For Each cell In Rg
cell=
Next
End Sub
Je vous remercie par avance pour votre aide
Bastien