Comment utiliser la fonction INDEX en language VBA ? [RESOLU]
[RESOLU]
Bonsoir à tous,
J'arrive sans problème à utiliser INDEX directement dans les cellules excel.
En revanche, je n'y arrive pas en VBA...
J'ai utiliser l'enregistreur de macro pour voir ce que ça me donnait, et voilà le code obtenu :
("Fantôme" et "1. Importation" sont les noms de mes feuilles)
Sheets("Fantôme").Select
Range("K3").Select
ActiveCell.FormulaR1C1 = _
"=INDEX('1. Importation'!R[1]C[-5]:R[66]C[-5], Fantôme!R[-2]C)"
Ce code fonctionne sans problème.
Mais je ne veux pas du 66 entre crochet derrière le R.
A la place, je voudrais une variable Integer qui s'appelle DrnLigne.
Mais quand je remplace R[66] par R[DrnLigne], le code plante en disant :
"erreur d'execution 1004 : erreur définie par l'application ou par l'objet."
Merci d'avance.
PS : Si vous avez 5 minutes, pourriez-vous m'expliquer comment fonctionne INDEX en VBA ?
Je ne comprend rien à ces R[1]C[-5 ], FormulaR1C1, ...
[RESOLU]
Bonsoir à tous,
J'arrive sans problème à utiliser INDEX directement dans les cellules excel.
En revanche, je n'y arrive pas en VBA...
J'ai utiliser l'enregistreur de macro pour voir ce que ça me donnait, et voilà le code obtenu :
("Fantôme" et "1. Importation" sont les noms de mes feuilles)
Sheets("Fantôme").Select
Range("K3").Select
ActiveCell.FormulaR1C1 = _
"=INDEX('1. Importation'!R[1]C[-5]:R[66]C[-5], Fantôme!R[-2]C)"
Ce code fonctionne sans problème.
Mais je ne veux pas du 66 entre crochet derrière le R.
A la place, je voudrais une variable Integer qui s'appelle DrnLigne.
Mais quand je remplace R[66] par R[DrnLigne], le code plante en disant :
"erreur d'execution 1004 : erreur définie par l'application ou par l'objet."
Merci d'avance.
PS : Si vous avez 5 minutes, pourriez-vous m'expliquer comment fonctionne INDEX en VBA ?
Je ne comprend rien à ces R[1]C[-5 ], FormulaR1C1, ...
Dernière édition: