Salut,
quand tu utilises l'enregistreur de macro, il utilise la propriété .formulaR1C1. les programmeurs de MS aurai peu activer .Formula mais c'est comme çà.
1- Du coup, ta formule est bien la même :
Le RC[7] renvoi à ton N16. RC[7] pour même ligne, 7 colonnes à gauche. Sauf erreur, par rapport à ton enregistrement cela doit donné N16 (référence relatives)
2- Là tu as deux solutions
Le plus simple
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[7],R15C21:R2600C22,2,TRUE)"
Cela n'aura pas d'effet négatif sur la rapidité de fonctionnement de la formule.
Sinon
1 2
| DernLigne = Range("V" & Rows.Count).End(xlUp).Row
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[7],R15C21:R" & DernLigne & "C22,2,TRUE)" |
Là Excel analyse la colonne V pour déterminer la dernière ligne utilisée.
PS : on est bien d'accord que, avec le TRUE, à la fin, tu recherches un intervalle de valeur et que ton tableau U15:V22 est bien trié par ordre croissant de la colonne U.
En espérant que c'est bien ce que tu veux.
Edit : Merci à Eric KERGRESSE de m'avoir fait remarquer que je dormais encore et que j'ai bouletté ...
Partager