Le 02/03/22 à 11:19, ThierryP a écrit :
> ActiveCell.Formulalocal = "=MATCH(ActiveCell.Offset(0, -11),Workbooks(""Classeur_Source.xlsm"").sheets(""Feuille_Source"").range(""Plage_Dynamique""),0)"
Bonjour,
Voici comme tu peux faire, une manière de te faciliter la vie
'----------------------------
Sub test()
'Déclaration des variables
Dim C As String, D As String, F As String
'Définir pour chaque variable, la plage de cellules
'qui convient selon la donne du problème
'Évidemment à adapter selon ton environnement
With Worksheets("Feuil1")
C = .Parent.Name & "!" & .Range("A2:A13").Address
D = .Parent.Name & "!" & .Range("D1").Address
E = .Parent.Name & "!" & .Range("B2:B13").Address
End With
'Afin de s'aider, on peut afficher la formule dans une boîte
'de message afin de trouver une ou des erreurs de syntaxes
'Ce n'est pas obligatoire ! ;-)
MsgBox "=INDEX(" & C & " MATCH(""" & D & """," & E & ",0))"
'La formule que l'on veut retourner dans la cellule de son choix.
Range("G5").Formula = "=INDEX(" & C & ",MATCH(" & D & "," & E & ",0))"
End Sub
'----------------------------
MichD