Bonsoir,

J'ai une erreur de syntaxe dans mon code et je n'arrive pas à la trouver.

----------------

Initialement, si le tableau est statique, j'ai ça, et ça marche très bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
"=INDEX('XXXX'!R2C2:R10C10,MATCH('YYYY'!RC2,'XXXX'!R2C1:R10C1,0),MATCH('YYYY'!RC3,'XXXX'!R1C2:R1C10,0))"
Mais si je veux changer le 10 par un nombre dynamique, ça bloque.

Ci-dessous le code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Dim DerLig1, DerLig2 As Long

DerLig1 = Worksheets("XXXX").Range("A" & Rows.Count).End(xlUp).Row
DerLig2 = Worksheets("YYYY").Range("B" & Rows.Count).End(xlUp).Row


With Sheets("YYYY").Range(Cells(2, 4), Cells(DerLig2, 4)) 'La formule s'applique de D2 à Dmax sur la feuille YYYY
.FormulaR1C1 = "=INDEX('XXXX'!R2C2:R" & DerLig1 & "C"& DerLig1 ",MATCH('YYYY'!RC2,'XXXX'!R2C1:R"&Derlig1&"C1,0),MATCH('YYYY'!RC3,'XXXX'!R1C2:R1C"&DerLig1",0))"
End With
Sur XXXX le tableau est forcément carré d'où DerLig1 utilisé pour le nombre de lignes et de colonnes.

Si nécessaire je mettrai un fichier, mais vu qu'il s'agit d'un problème de syntaxe...

Merci beaucoup