Bonjour à tousBonjour le forum!
Je suis à la recherche d'une macro événementielle, j'ai une formule qui fonctionne bien et j'aimerais la passer en VBA:
=INDEX(BDM!E:E;EQUIV(START!B98&E98&H98;BDM!A:A&BDM!B:B&BDM!C:C;0))
Merci pour votre aide.
MU
Sub Test()
ActiveCell = Evaluate("=INDEX(BDM!e:e,MATCH(start!b98&start!e98&start!h98,BDM!a:a&BDM!b:b&BDM!c:c,0))")
End Sub
RE..Bonjour M12, Jacky67
Pour info ma feuille « start » est la feuille active. Merci
Bien cordialement,
MU
Sub Test()
ActiveCell = Evaluate("=INDEX(BDM!e:e,MATCH(b98&e98&h98,BDM!a:a&BDM!b:b&BDM!c:c,0))")
End Sub
Sub Test1()
Dim Derlg&
Derlg = 50000 ' Ou calculer la dernière ligne réelle
ActiveCell = Evaluate("=INDEX(BDM!e:e,MATCH(b98&e98&h98,BDM!a1:a" & Derlg & "&BDM!b1:b" & Derlg & "&BDM!c1:c" & Derlg & ",0))")
End Sub
RE..Merci beaucoup Jacky67 cependant j’aurais souhaité la transformer avec :
Private Sub Worksheet_Change(ByVal Target As Range)
Je suis novice en la matière
Bien cordialement,
MU
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Derlg&
If Target.Count > 1 Then Exit Sub
With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
If Not Intersect(Target, Range("b98,e98,h98")) Is Nothing Then
Derlg = Sheets("BDM").Cells.Find("*", , , , xlByRows, xlPrevious).Row
[b100] = Evaluate("INDEX(BDM!e:e,MATCH(b98&e98&h98,BDM!a1:a" & Derlg & "&BDM!b1:b" & Derlg & "&BDM!c1:c" & Derlg & ",0))")
End If
With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub