Salut sophie.m et le forum
Déjà, ActiveCell, c'est une connerie : on ne sait pas quelle est la cellule active et donc, difficile de comprendre. Si je me mets en F7, ta formule devient :
=SI(ESTNA(RECHERCHEV(A7;PDCQ1!$A:$B;2;FAUX));"";RECHERCHEV(A7;PDCQ1!$A:$B;2;FAUX))
Là, je comprend mieux Pour la cellule H8 :
1 2
| Range("H8").FormulaLocal = _
"=SI(ESTNA(RECHERCHEV(C8;PDCQ1!$A:$B;2;FAUX));"""";RECHERCHEV(C8;PDCQ1!$A:$B;2;FAUX))" |
En restant sur le fait d'écrire la formule en R1C1, on obtient :
1 2
| Range("H8").FormulaR1C1Local = _
"=SI(ESTNA(RECHERCHEV(LC(-5);PDCQ1!C1:C2;2;FAUX));"""";RECHERCHEV(LC(-5);PDCQ1!C1:C2;2;FAUX))" |
Mais attention, suivant la formulation, la désignation de la plage sera différente : FormulaLocal : "A:B", FormulaR1C1Local : "C1:C2".
Après, ce n'est que de la concaténation de texte :
1 2
| Range("H8").FormulaR1C1Local = _
"=SI(ESTNA(RECHERCHEV(LC(-5);PDCQ1!" & MaPlage & ";2;FAUX));"""";RECHERCHEV(LC(-5);PDCQ1!" & MaPlage & ";2;FAUX))" |
en partant du principe que MaPlage est une variable string contenant l'adresse à tester. ici ce devrait être MaPlage="C1:C2"
A+
Partager